-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Google Tag Manager SDK.
--   
--   Accesses Tag Manager accounts and containers.
--   
--   <i>Warning:</i> This is an experimental prototype/preview release
--   which is still under exploratory development and not intended for
--   public use, caveat emptor!
--   
--   This library is compatible with version <tt>v1</tt> of the API.
@package gogol-tagmanager
@version 0.3.0


module Network.Google.TagManager.Types

-- | Default request referring to version <tt>v1</tt> of the Tag Manager
--   API. This contains the host and root path used as a starting point for
--   constructing service requests.
tagManagerService :: ServiceConfig

-- | View your Google Tag Manager container and its subcomponents
tagManagerReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/tagmanager.readonly"]

-- | Manage your Google Tag Manager container and its subcomponents,
--   excluding versioning and publishing
tagManagerEditContainersScope :: Proxy '["https://www.googleapis.com/auth/tagmanager.edit.containers"]

-- | View and manage your Google Tag Manager accounts
tagManagerManageAccountsScope :: Proxy '["https://www.googleapis.com/auth/tagmanager.manage.accounts"]

-- | Delete your Google Tag Manager containers
tagManagerDeleteContainersScope :: Proxy '["https://www.googleapis.com/auth/tagmanager.delete.containers"]

-- | Manage user permissions of your Google Tag Manager account and
--   container
tagManagerManageUsersScope :: Proxy '["https://www.googleapis.com/auth/tagmanager.manage.users"]

-- | Publish your Google Tag Manager container versions
tagManagerPublishScope :: Proxy '["https://www.googleapis.com/auth/tagmanager.publish"]

-- | Manage your Google Tag Manager container versions
tagManagerEditContainerversionsScope :: Proxy '["https://www.googleapis.com/auth/tagmanager.edit.containerversions"]

-- | List Variables Response.
--   
--   <i>See:</i> <a>listVariablesResponse</a> smart constructor.
data ListVariablesResponse

-- | Creates a value of <a>ListVariablesResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lvrVariables</a></li>
--   </ul>
listVariablesResponse :: ListVariablesResponse

-- | All GTM Variables of a GTM Container.
lvrVariables :: Lens' ListVariablesResponse [Variable]

-- | List Folders Response.
--   
--   <i>See:</i> <a>listFoldersResponse</a> smart constructor.
data ListFoldersResponse

-- | Creates a value of <a>ListFoldersResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lfrFolders</a></li>
--   </ul>
listFoldersResponse :: ListFoldersResponse

-- | All GTM Folders of a GTM Container.
lfrFolders :: Lens' ListFoldersResponse [Folder]

-- | List Environments Response.
--   
--   <i>See:</i> <a>listEnvironmentsResponse</a> smart constructor.
data ListEnvironmentsResponse

-- | Creates a value of <a>ListEnvironmentsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lerEnvironments</a></li>
--   </ul>
listEnvironmentsResponse :: ListEnvironmentsResponse

-- | All Environments of a GTM Container.
lerEnvironments :: Lens' ListEnvironmentsResponse [Environment]

-- | Publish container version response.
--   
--   <i>See:</i> <a>publishContainerVersionResponse</a> smart constructor.
data PublishContainerVersionResponse

-- | Creates a value of <a>PublishContainerVersionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcvrCompilerError</a></li>
--   <li><a>pcvrContainerVersion</a></li>
--   </ul>
publishContainerVersionResponse :: PublishContainerVersionResponse

-- | Compiler errors or not.
pcvrCompilerError :: Lens' PublishContainerVersionResponse (Maybe Bool)

-- | The container version created.
pcvrContainerVersion :: Lens' PublishContainerVersionResponse (Maybe ContainerVersion)

-- | Represents a Google Tag Manager Container Version Header.
--   
--   <i>See:</i> <a>containerVersionHeader</a> smart constructor.
data ContainerVersionHeader

-- | Creates a value of <a>ContainerVersionHeader</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cvhNumTags</a></li>
--   <li><a>cvhNumMacros</a></li>
--   <li><a>cvhContainerId</a></li>
--   <li><a>cvhContainerVersionId</a></li>
--   <li><a>cvhAccountId</a></li>
--   <li><a>cvhName</a></li>
--   <li><a>cvhNumTriggers</a></li>
--   <li><a>cvhDeleted</a></li>
--   <li><a>cvhNumRules</a></li>
--   <li><a>cvhNumVariables</a></li>
--   </ul>
containerVersionHeader :: ContainerVersionHeader

-- | Number of tags in the container version.
cvhNumTags :: Lens' ContainerVersionHeader (Maybe Text)

-- | Number of macros in the container version.
cvhNumMacros :: Lens' ContainerVersionHeader (Maybe Text)

-- | GTM Container ID.
cvhContainerId :: Lens' ContainerVersionHeader (Maybe Text)

-- | The Container Version ID uniquely identifies the GTM Container
--   Version.
cvhContainerVersionId :: Lens' ContainerVersionHeader (Maybe Text)

-- | GTM Account ID.
cvhAccountId :: Lens' ContainerVersionHeader (Maybe Text)

-- | Container version display name.
cvhName :: Lens' ContainerVersionHeader (Maybe Text)

-- | Number of triggers in the container version.
cvhNumTriggers :: Lens' ContainerVersionHeader (Maybe Text)

-- | A value of true indicates this container version has been deleted.
cvhDeleted :: Lens' ContainerVersionHeader (Maybe Bool)

-- | Number of rules in the container version.
cvhNumRules :: Lens' ContainerVersionHeader (Maybe Text)

-- | Number of variables in the container version.
cvhNumVariables :: Lens' ContainerVersionHeader (Maybe Text)
data TeardownTag

-- | Creates a value of <a>TeardownTag</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ttStopTeardownOnFailure</a></li>
--   <li><a>ttTagName</a></li>
--   </ul>
teardownTag :: TeardownTag

-- | If true, fire the teardown tag if and only if the main tag fires
--   successfully. If false, fire the teardown tag regardless of main tag
--   firing status.
ttStopTeardownOnFailure :: Lens' TeardownTag (Maybe Bool)

-- | The name of the teardown tag.
ttTagName :: Lens' TeardownTag (Maybe Text)

-- | List triggers response.
--   
--   <i>See:</i> <a>listTriggersResponse</a> smart constructor.
data ListTriggersResponse

-- | Creates a value of <a>ListTriggersResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ltrTriggers</a></li>
--   </ul>
listTriggersResponse :: ListTriggersResponse

-- | All GTM Triggers of a GTM Container.
ltrTriggers :: Lens' ListTriggersResponse [Trigger]

-- | Represents a Google Tag Manager Macro.
--   
--   <i>See:</i> <a>macro</a> smart constructor.
data Macro

-- | Creates a value of <a>Macro</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mScheduleEndMs</a></li>
--   <li><a>mParentFolderId</a></li>
--   <li><a>mContainerId</a></li>
--   <li><a>mDisablingRuleId</a></li>
--   <li><a>mFingerprint</a></li>
--   <li><a>mAccountId</a></li>
--   <li><a>mName</a></li>
--   <li><a>mEnablingRuleId</a></li>
--   <li><a>mMacroId</a></li>
--   <li><a>mType</a></li>
--   <li><a>mScheduleStartMs</a></li>
--   <li><a>mNotes</a></li>
--   <li><a>mParameter</a></li>
--   </ul>
macro :: Macro

-- | The end timestamp in milliseconds to schedule a macro.
mScheduleEndMs :: Lens' Macro (Maybe Int64)

-- | Parent folder id.
mParentFolderId :: Lens' Macro (Maybe Text)

-- | GTM Container ID.
mContainerId :: Lens' Macro (Maybe Text)

-- | For mobile containers only: A list of rule IDs for disabling
--   conditional macros; the macro is enabled if one of the enabling rules
--   is true while all the disabling rules are false. Treated as an
--   unordered set.
mDisablingRuleId :: Lens' Macro [Text]

-- | The fingerprint of the GTM Macro as computed at storage time. This
--   value is recomputed whenever the macro is modified.
mFingerprint :: Lens' Macro (Maybe Text)

-- | GTM Account ID.
mAccountId :: Lens' Macro (Maybe Text)

-- | Macro display name.
mName :: Lens' Macro (Maybe Text)

-- | For mobile containers only: A list of rule IDs for enabling
--   conditional macros; the macro is enabled if one of the enabling rules
--   is true while all the disabling rules are false. Treated as an
--   unordered set.
mEnablingRuleId :: Lens' Macro [Text]

-- | The Macro ID uniquely identifies the GTM Macro.
mMacroId :: Lens' Macro (Maybe Text)

-- | GTM Macro Type.
mType :: Lens' Macro (Maybe Text)

-- | The start timestamp in milliseconds to schedule a macro.
mScheduleStartMs :: Lens' Macro (Maybe Int64)

-- | User notes on how to apply this macro in the container.
mNotes :: Lens' Macro (Maybe Text)

-- | The macro's parameters.
mParameter :: Lens' Macro [Parameter]

-- | Represents a Google Tag Manager Tag.
--   
--   <i>See:</i> <a>tag</a> smart constructor.
data Tag

-- | Creates a value of <a>Tag</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tBlockingTriggerId</a></li>
--   <li><a>tScheduleEndMs</a></li>
--   <li><a>tParentFolderId</a></li>
--   <li><a>tLiveOnly</a></li>
--   <li><a>tContainerId</a></li>
--   <li><a>tPriority</a></li>
--   <li><a>tTeardownTag</a></li>
--   <li><a>tFingerprint</a></li>
--   <li><a>tTagFiringOption</a></li>
--   <li><a>tAccountId</a></li>
--   <li><a>tTagId</a></li>
--   <li><a>tName</a></li>
--   <li><a>tBlockingRuleId</a></li>
--   <li><a>tSetupTag</a></li>
--   <li><a>tFiringTriggerId</a></li>
--   <li><a>tType</a></li>
--   <li><a>tScheduleStartMs</a></li>
--   <li><a>tNotes</a></li>
--   <li><a>tFiringRuleId</a></li>
--   <li><a>tParameter</a></li>
--   </ul>
tag :: Tag

-- | Blocking trigger IDs. If any of the listed triggers evaluate to true,
--   the tag will not fire.
tBlockingTriggerId :: Lens' Tag [Text]

-- | The end timestamp in milliseconds to schedule a tag.
tScheduleEndMs :: Lens' Tag (Maybe Int64)

-- | Parent folder id.
tParentFolderId :: Lens' Tag (Maybe Text)

-- | If set to true, this tag will only fire in the live environment (e.g.
--   not in preview or debug mode).
tLiveOnly :: Lens' Tag (Maybe Bool)

-- | GTM Container ID.
tContainerId :: Lens' Tag (Maybe Text)

-- | User defined numeric priority of the tag. Tags are fired
--   asynchronously in order of priority. Tags with higher numeric value
--   fire first. A tag's priority can be a positive or negative value. The
--   default value is 0.
tPriority :: Lens' Tag (Maybe Parameter)

-- | The list of teardown tags. Currently we only allow one.
tTeardownTag :: Lens' Tag [TeardownTag]

-- | The fingerprint of the GTM Tag as computed at storage time. This value
--   is recomputed whenever the tag is modified.
tFingerprint :: Lens' Tag (Maybe Text)

-- | Option to fire this tag.
tTagFiringOption :: Lens' Tag (Maybe TagTagFiringOption)

-- | GTM Account ID.
tAccountId :: Lens' Tag (Maybe Text)

-- | The Tag ID uniquely identifies the GTM Tag.
tTagId :: Lens' Tag (Maybe Text)

-- | Tag display name.
tName :: Lens' Tag (Maybe Text)

-- | Blocking rule IDs. If any of the listed rules evaluate to true, the
--   tag will not fire.
tBlockingRuleId :: Lens' Tag [Text]

-- | The list of setup tags. Currently we only allow one.
tSetupTag :: Lens' Tag [SetupTag]

-- | Firing trigger IDs. A tag will fire when any of the listed triggers
--   are true and all of its blockingTriggerIds (if any specified) are
--   false.
tFiringTriggerId :: Lens' Tag [Text]

-- | GTM Tag Type.
tType :: Lens' Tag (Maybe Text)

-- | The start timestamp in milliseconds to schedule a tag.
tScheduleStartMs :: Lens' Tag (Maybe Int64)

-- | User notes on how to apply this tag in the container.
tNotes :: Lens' Tag (Maybe Text)

-- | Firing rule IDs. A tag will fire when any of the listed rules are true
--   and all of its blockingRuleIds (if any specified) are false.
tFiringRuleId :: Lens' Tag [Text]

-- | The tag's parameters.
tParameter :: Lens' Tag [Parameter]

-- | Create container versions response.
--   
--   <i>See:</i> <a>createContainerVersionResponse</a> smart constructor.
data CreateContainerVersionResponse

-- | Creates a value of <a>CreateContainerVersionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccvrCompilerError</a></li>
--   <li><a>ccvrContainerVersion</a></li>
--   </ul>
createContainerVersionResponse :: CreateContainerVersionResponse

-- | Compiler errors or not.
ccvrCompilerError :: Lens' CreateContainerVersionResponse (Maybe Bool)

-- | The container version created.
ccvrContainerVersion :: Lens' CreateContainerVersionResponse (Maybe ContainerVersion)

-- | Options for new container versions.
--   
--   <i>See:</i> <a>createContainerVersionRequestVersionOptions</a> smart
--   constructor.
data CreateContainerVersionRequestVersionOptions

-- | Creates a value of <a>CreateContainerVersionRequestVersionOptions</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccvrvoName</a></li>
--   <li><a>ccvrvoQuickPreview</a></li>
--   <li><a>ccvrvoNotes</a></li>
--   </ul>
createContainerVersionRequestVersionOptions :: CreateContainerVersionRequestVersionOptions

-- | The name of the container version to be created.
ccvrvoName :: Lens' CreateContainerVersionRequestVersionOptions (Maybe Text)

-- | The creation of this version may be for quick preview and shouldn't be
--   saved.
ccvrvoQuickPreview :: Lens' CreateContainerVersionRequestVersionOptions (Maybe Bool)

-- | The notes of the container version to be created.
ccvrvoNotes :: Lens' CreateContainerVersionRequestVersionOptions (Maybe Text)

-- | Represents a user's permissions to an account and its container.
--   
--   <i>See:</i> <a>userAccess</a> smart constructor.
data UserAccess

-- | Creates a value of <a>UserAccess</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uaAccountAccess</a></li>
--   <li><a>uaAccountId</a></li>
--   <li><a>uaEmailAddress</a></li>
--   <li><a>uaContainerAccess</a></li>
--   <li><a>uaPermissionId</a></li>
--   </ul>
userAccess :: UserAccess

-- | GTM Account access permissions.
uaAccountAccess :: Lens' UserAccess (Maybe AccountAccess)

-- | GTM Account ID.
uaAccountId :: Lens' UserAccess (Maybe Text)

-- | User's email address.
uaEmailAddress :: Lens' UserAccess (Maybe Text)

-- | GTM Container access permissions.
uaContainerAccess :: Lens' UserAccess [ContainerAccess]

-- | Account Permission ID.
uaPermissionId :: Lens' UserAccess (Maybe Text)

-- | Represents a Google Tag Manager Environment. Note that a user can
--   create, delete and update environments of type USER, but can only
--   update the enable_debug and url fields of environments of other types.
--   
--   <i>See:</i> <a>environment</a> smart constructor.
data Environment

-- | Creates a value of <a>Environment</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eContainerId</a></li>
--   <li><a>eFingerprint</a></li>
--   <li><a>eContainerVersionId</a></li>
--   <li><a>eURL</a></li>
--   <li><a>eAuthorizationCode</a></li>
--   <li><a>eAccountId</a></li>
--   <li><a>eName</a></li>
--   <li><a>eEnableDebug</a></li>
--   <li><a>eEnvironmentId</a></li>
--   <li><a>eType</a></li>
--   <li><a>eAuthorizationTimestampMs</a></li>
--   <li><a>eDescription</a></li>
--   </ul>
environment :: Environment

-- | GTM Container ID.
eContainerId :: Lens' Environment (Maybe Text)

-- | The fingerprint of the GTM environment as computed at storage time.
--   This value is recomputed whenever the environment is modified.
eFingerprint :: Lens' Environment (Maybe Text)
eContainerVersionId :: Lens' Environment (Maybe Text)

-- | Default preview page url for the environment.
eURL :: Lens' Environment (Maybe Text)

-- | The environment authorization code.
eAuthorizationCode :: Lens' Environment (Maybe Text)

-- | GTM Account ID.
eAccountId :: Lens' Environment (Maybe Text)

-- | The environment display name. Can be set or changed only on USER type
--   environments.
eName :: Lens' Environment (Maybe Text)

-- | Whether or not to enable debug by default on for the environment.
eEnableDebug :: Lens' Environment (Maybe Bool)

-- | GTM Environment ID uniquely identifies the GTM Environment.
eEnvironmentId :: Lens' Environment (Maybe Text)

-- | The type of this environment.
eType :: Lens' Environment (Maybe EnvironmentType)

-- | The last update time-stamp for the authorization code.
eAuthorizationTimestampMs :: Lens' Environment (Maybe Int64)

-- | The environment description. Can be set or changed only on USER type
--   environments.
eDescription :: Lens' Environment (Maybe Text)

-- | Defines the Google Tag Manager Account access permissions.
--   
--   <i>See:</i> <a>accountAccess</a> smart constructor.
data AccountAccess

-- | Creates a value of <a>AccountAccess</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaPermission</a></li>
--   </ul>
accountAccess :: AccountAccess

-- | List of Account permissions. Valid account permissions are read and
--   manage.
aaPermission :: Lens' AccountAccess [AccountAccessPermissionItem]

-- | Defines the data layer event that causes this trigger.
data TriggerType

-- | <pre>
--   ajaxSubmission
--   </pre>
AjaxSubmission :: TriggerType

-- | <pre>
--   always
--   </pre>
Always :: TriggerType

-- | <pre>
--   click
--   </pre>
Click :: TriggerType

-- | <pre>
--   customEvent
--   </pre>
CustomEvent :: TriggerType

-- | <pre>
--   domReady
--   </pre>
DomReady :: TriggerType

-- | <pre>
--   formSubmission
--   </pre>
FormSubmission :: TriggerType

-- | <pre>
--   historyChange
--   </pre>
HistoryChange :: TriggerType

-- | <pre>
--   jsError
--   </pre>
JsError :: TriggerType

-- | <pre>
--   linkClick
--   </pre>
LinkClick :: TriggerType

-- | <pre>
--   pageview
--   </pre>
Pageview :: TriggerType

-- | <pre>
--   timer
--   </pre>
Timer :: TriggerType

-- | <pre>
--   windowLoaded
--   </pre>
WindowLoaded :: TriggerType

-- | <pre>
--   youTube
--   </pre>
YouTube :: TriggerType
data ContainerEnabledBuiltInVariableItem

-- | <pre>
--   advertiserId
--   </pre>
CEBIVIAdvertiserId :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   advertisingTrackingEnabled
--   </pre>
CEBIVIAdvertisingTrackingEnabled :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   appId
--   </pre>
CEBIVIAppId :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   appName
--   </pre>
CEBIVIAppName :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   appVersionCode
--   </pre>
CEBIVIAppVersionCode :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   appVersionName
--   </pre>
CEBIVIAppVersionName :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   clickClasses
--   </pre>
CEBIVIClickClasses :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   clickElement
--   </pre>
CEBIVIClickElement :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   clickId
--   </pre>
CEBIVIClickId :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   clickTarget
--   </pre>
CEBIVIClickTarget :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   clickText
--   </pre>
CEBIVIClickText :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   clickUrl
--   </pre>
CEBIVIClickURL :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   containerId
--   </pre>
CEBIVIContainerId :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   containerVersion
--   </pre>
CEBIVIContainerVersion :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   debugMode
--   </pre>
CEBIVIDebugMode :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   deviceName
--   </pre>
CEBIVIDeviceName :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   environmentName
--   </pre>
CEBIVIEnvironmentName :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   errorLine
--   </pre>
CEBIVIErrorLine :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   errorMessage
--   </pre>
CEBIVIErrorMessage :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   errorUrl
--   </pre>
CEBIVIErrorURL :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   event
--   </pre>
CEBIVIEvent :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   formClasses
--   </pre>
CEBIVIFormClasses :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   formElement
--   </pre>
CEBIVIFormElement :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   formId
--   </pre>
CEBIVIFormId :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   formTarget
--   </pre>
CEBIVIFormTarget :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   formText
--   </pre>
CEBIVIFormText :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   formUrl
--   </pre>
CEBIVIFormURL :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   historySource
--   </pre>
CEBIVIHistorySource :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   htmlId
--   </pre>
CEBIVIHTMLId :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   language
--   </pre>
CEBIVILanguage :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   newHistoryFragment
--   </pre>
CEBIVINewHistoryFragment :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   newHistoryState
--   </pre>
CEBIVINewHistoryState :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   oldHistoryFragment
--   </pre>
CEBIVIOldHistoryFragment :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   oldHistoryState
--   </pre>
CEBIVIOldHistoryState :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   osVersion
--   </pre>
CEBIVIOSVersion :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   pageHostname
--   </pre>
CEBIVIPageHostname :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   pagePath
--   </pre>
CEBIVIPagePath :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   pageUrl
--   </pre>
CEBIVIPageURL :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   platform
--   </pre>
CEBIVIPlatform :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   randomNumber
--   </pre>
CEBIVIRandomNumber :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   referrer
--   </pre>
CEBIVIReferrer :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   resolution
--   </pre>
CEBIVIResolution :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   sdkVersion
--   </pre>
CEBIVISdkVersion :: ContainerEnabledBuiltInVariableItem
data ContainerUsageContextItem

-- | <pre>
--   android
--   </pre>
Android :: ContainerUsageContextItem

-- | <pre>
--   androidSdk5
--   </pre>
ANDROIdSDK5 :: ContainerUsageContextItem

-- | <pre>
--   ios
--   </pre>
Ios :: ContainerUsageContextItem

-- | <pre>
--   iosSdk5
--   </pre>
IOSSDK5 :: ContainerUsageContextItem

-- | <pre>
--   web
--   </pre>
Web :: ContainerUsageContextItem

-- | The type of operator for this condition.
data ConditionType

-- | <pre>
--   contains
--   </pre>
Contains :: ConditionType

-- | <pre>
--   cssSelector
--   </pre>
CssSelector :: ConditionType

-- | <pre>
--   endsWith
--   </pre>
EndsWith :: ConditionType

-- | <pre>
--   equals
--   </pre>
Equals :: ConditionType

-- | <pre>
--   greater
--   </pre>
Greater :: ConditionType

-- | <pre>
--   greaterOrEquals
--   </pre>
GreaterOrEquals :: ConditionType

-- | <pre>
--   less
--   </pre>
Less :: ConditionType

-- | <pre>
--   lessOrEquals
--   </pre>
LessOrEquals :: ConditionType

-- | <pre>
--   matchRegex
--   </pre>
MatchRegex :: ConditionType

-- | <pre>
--   startsWith
--   </pre>
StartsWith :: ConditionType

-- | <pre>
--   urlMatches
--   </pre>
URLMatches :: ConditionType

-- | List Accounts Response.
--   
--   <i>See:</i> <a>listAccountsResponse</a> smart constructor.
data ListAccountsResponse

-- | Creates a value of <a>ListAccountsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>larAccounts</a></li>
--   </ul>
listAccountsResponse :: ListAccountsResponse

-- | List of GTM Accounts that a user has access to.
larAccounts :: Lens' ListAccountsResponse [Account]
data AccountAccessPermissionItem

-- | <pre>
--   delete
--   </pre>
Delete' :: AccountAccessPermissionItem

-- | <pre>
--   edit
--   </pre>
Edit :: AccountAccessPermissionItem

-- | <pre>
--   manage
--   </pre>
Manage :: AccountAccessPermissionItem

-- | <pre>
--   publish
--   </pre>
Publish :: AccountAccessPermissionItem

-- | <pre>
--   read
--   </pre>
Read' :: AccountAccessPermissionItem

-- | Option to fire this tag.
data TagTagFiringOption

-- | <pre>
--   oncePerEvent
--   </pre>
OncePerEvent :: TagTagFiringOption

-- | <pre>
--   oncePerLoad
--   </pre>
OncePerLoad :: TagTagFiringOption

-- | <pre>
--   unlimited
--   </pre>
Unlimited :: TagTagFiringOption

-- | Represents a Google Tag Manager Rule.
--   
--   <i>See:</i> <a>rule</a> smart constructor.
data Rule

-- | Creates a value of <a>Rule</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rContainerId</a></li>
--   <li><a>rFingerprint</a></li>
--   <li><a>rRuleId</a></li>
--   <li><a>rAccountId</a></li>
--   <li><a>rName</a></li>
--   <li><a>rNotes</a></li>
--   <li><a>rCondition</a></li>
--   </ul>
rule :: Rule

-- | GTM Container ID.
rContainerId :: Lens' Rule (Maybe Text)

-- | The fingerprint of the GTM Rule as computed at storage time. This
--   value is recomputed whenever the rule is modified.
rFingerprint :: Lens' Rule (Maybe Text)

-- | The Rule ID uniquely identifies the GTM Rule.
rRuleId :: Lens' Rule (Maybe Text)

-- | GTM Account ID.
rAccountId :: Lens' Rule (Maybe Text)

-- | Rule display name.
rName :: Lens' Rule (Maybe Text)

-- | User notes on how to apply this rule in the container.
rNotes :: Lens' Rule (Maybe Text)

-- | The list of conditions that make up this rule (implicit AND between
--   them).
rCondition :: Lens' Rule [Condition]

-- | Represents a Google Tag Manager Folder.
--   
--   <i>See:</i> <a>folder</a> smart constructor.
data Folder

-- | Creates a value of <a>Folder</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fContainerId</a></li>
--   <li><a>fFingerprint</a></li>
--   <li><a>fFolderId</a></li>
--   <li><a>fAccountId</a></li>
--   <li><a>fName</a></li>
--   </ul>
folder :: Folder

-- | GTM Container ID.
fContainerId :: Lens' Folder (Maybe Text)

-- | The fingerprint of the GTM Folder as computed at storage time. This
--   value is recomputed whenever the folder is modified.
fFingerprint :: Lens' Folder (Maybe Text)

-- | The Folder ID uniquely identifies the GTM Folder.
fFolderId :: Lens' Folder (Maybe Text)

-- | GTM Account ID.
fAccountId :: Lens' Folder (Maybe Text)

-- | Folder display name.
fName :: Lens' Folder (Maybe Text)

-- | Represents a Google Tag Manager Variable.
--   
--   <i>See:</i> <a>variable</a> smart constructor.
data Variable

-- | Creates a value of <a>Variable</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vScheduleEndMs</a></li>
--   <li><a>vParentFolderId</a></li>
--   <li><a>vContainerId</a></li>
--   <li><a>vFingerprint</a></li>
--   <li><a>vVariableId</a></li>
--   <li><a>vAccountId</a></li>
--   <li><a>vDisablingTriggerId</a></li>
--   <li><a>vName</a></li>
--   <li><a>vType</a></li>
--   <li><a>vScheduleStartMs</a></li>
--   <li><a>vNotes</a></li>
--   <li><a>vEnablingTriggerId</a></li>
--   <li><a>vParameter</a></li>
--   </ul>
variable :: Variable

-- | The end timestamp in milliseconds to schedule a variable.
vScheduleEndMs :: Lens' Variable (Maybe Int64)

-- | Parent folder id.
vParentFolderId :: Lens' Variable (Maybe Text)

-- | GTM Container ID.
vContainerId :: Lens' Variable (Maybe Text)

-- | The fingerprint of the GTM Variable as computed at storage time. This
--   value is recomputed whenever the variable is modified.
vFingerprint :: Lens' Variable (Maybe Text)

-- | The Variable ID uniquely identifies the GTM Variable.
vVariableId :: Lens' Variable (Maybe Text)

-- | GTM Account ID.
vAccountId :: Lens' Variable (Maybe Text)

-- | For mobile containers only: A list of trigger IDs for disabling
--   conditional variables; the variable is enabled if one of the enabling
--   trigger is true while all the disabling trigger are false. Treated as
--   an unordered set.
vDisablingTriggerId :: Lens' Variable [Text]

-- | Variable display name.
vName :: Lens' Variable (Maybe Text)

-- | GTM Variable Type.
vType :: Lens' Variable (Maybe Text)

-- | The start timestamp in milliseconds to schedule a variable.
vScheduleStartMs :: Lens' Variable (Maybe Int64)

-- | User notes on how to apply this variable in the container.
vNotes :: Lens' Variable (Maybe Text)

-- | For mobile containers only: A list of trigger IDs for enabling
--   conditional variables; the variable is enabled if one of the enabling
--   triggers is true while all the disabling triggers are false. Treated
--   as an unordered set.
vEnablingTriggerId :: Lens' Variable [Text]

-- | The variable's parameters.
vParameter :: Lens' Variable [Parameter]

-- | The parameter type. Valid values are: - boolean: The value represents
--   a boolean, represented as 'true' or 'false' - integer: The value
--   represents a 64-bit signed integer value, in base 10 - list: A list of
--   parameters should be specified - map: A map of parameters should be
--   specified - template: The value represents any text; this can include
--   variable references (even variable references that might return
--   non-string types)
data ParameterType

-- | <pre>
--   boolean
--   </pre>
Boolean :: ParameterType

-- | <pre>
--   integer
--   </pre>
Integer :: ParameterType

-- | <pre>
--   list
--   </pre>
List :: ParameterType

-- | <pre>
--   map
--   </pre>
Map :: ParameterType

-- | <pre>
--   template
--   </pre>
Template :: ParameterType

-- | Represents a Google Tag Manager Account.
--   
--   <i>See:</i> <a>account</a> smart constructor.
data Account

-- | Creates a value of <a>Account</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaShareData</a></li>
--   <li><a>aaFingerprint</a></li>
--   <li><a>aaAccountId</a></li>
--   <li><a>aaName</a></li>
--   </ul>
account :: Account

-- | Whether the account shares data anonymously with Google and others.
aaShareData :: Lens' Account (Maybe Bool)

-- | The fingerprint of the GTM Account as computed at storage time. This
--   value is recomputed whenever the account is modified.
aaFingerprint :: Lens' Account (Maybe Text)

-- | The Account ID uniquely identifies the GTM Account.
aaAccountId :: Lens' Account (Maybe Text)

-- | Account display name.
aaName :: Lens' Account (Maybe Text)

-- | List container versions response.
--   
--   <i>See:</i> <a>listContainerVersionsResponse</a> smart constructor.
data ListContainerVersionsResponse

-- | Creates a value of <a>ListContainerVersionsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lcvrContainerVersionHeader</a></li>
--   <li><a>lcvrContainerVersion</a></li>
--   </ul>
listContainerVersionsResponse :: ListContainerVersionsResponse

-- | All container version headers of a GTM Container.
lcvrContainerVersionHeader :: Lens' ListContainerVersionsResponse [ContainerVersionHeader]

-- | All versions of a GTM Container.
lcvrContainerVersion :: Lens' ListContainerVersionsResponse [ContainerVersion]

-- | Represents a Google Tag Manager Container.
--   
--   <i>See:</i> <a>container</a> smart constructor.
data Container

-- | Creates a value of <a>Container</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cPublicId</a></li>
--   <li><a>cUsageContext</a></li>
--   <li><a>cEnabledBuiltInVariable</a></li>
--   <li><a>cContainerId</a></li>
--   <li><a>cFingerprint</a></li>
--   <li><a>cTimeZoneCountryId</a></li>
--   <li><a>cAccountId</a></li>
--   <li><a>cDomainName</a></li>
--   <li><a>cName</a></li>
--   <li><a>cNotes</a></li>
--   <li><a>cTimeZoneId</a></li>
--   </ul>
container :: Container

-- | Container Public ID.
cPublicId :: Lens' Container (Maybe Text)

-- | List of Usage Contexts for the Container. Valid values include: web,
--   android, ios.
cUsageContext :: Lens' Container [ContainerUsageContextItem]

-- | List of enabled built-in variables. Valid values include: pageUrl,
--   pageHostname, pagePath, referrer, event, clickElement, clickClasses,
--   clickId, clickTarget, clickUrl, clickText, formElement, formClasses,
--   formId, formTarget, formUrl, formText, errorMessage, errorUrl,
--   errorLine, newHistoryFragment, oldHistoryFragment, newHistoryState,
--   oldHistoryState, historySource, containerVersion, debugMode,
--   randomNumber, containerId.
cEnabledBuiltInVariable :: Lens' Container [ContainerEnabledBuiltInVariableItem]

-- | The Container ID uniquely identifies the GTM Container.
cContainerId :: Lens' Container (Maybe Text)

-- | The fingerprint of the GTM Container as computed at storage time. This
--   value is recomputed whenever the account is modified.
cFingerprint :: Lens' Container (Maybe Text)

-- | Container Country ID.
cTimeZoneCountryId :: Lens' Container (Maybe Text)

-- | GTM Account ID.
cAccountId :: Lens' Container (Maybe Text)

-- | Optional list of domain names associated with the Container.
cDomainName :: Lens' Container [Text]

-- | Container display name.
cName :: Lens' Container (Maybe Text)

-- | Container Notes.
cNotes :: Lens' Container (Maybe Text)

-- | Container Time Zone ID.
cTimeZoneId :: Lens' Container (Maybe Text)

-- | List AccountUsers Response.
--   
--   <i>See:</i> <a>listAccountUsersResponse</a> smart constructor.
data ListAccountUsersResponse

-- | Creates a value of <a>ListAccountUsersResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>laurUserAccess</a></li>
--   </ul>
listAccountUsersResponse :: ListAccountUsersResponse

-- | All GTM AccountUsers of a GTM Account.
laurUserAccess :: Lens' ListAccountUsersResponse [UserAccess]
data ContainerAccessPermissionItem

-- | <pre>
--   delete
--   </pre>
CAPIDelete' :: ContainerAccessPermissionItem

-- | <pre>
--   edit
--   </pre>
CAPIEdit :: ContainerAccessPermissionItem

-- | <pre>
--   manage
--   </pre>
CAPIManage :: ContainerAccessPermissionItem

-- | <pre>
--   publish
--   </pre>
CAPIPublish :: ContainerAccessPermissionItem

-- | <pre>
--   read
--   </pre>
CAPIRead' :: ContainerAccessPermissionItem

-- | Represents a Google Tag Manager Container Version.
--   
--   <i>See:</i> <a>containerVersion</a> smart constructor.
data ContainerVersion

-- | Creates a value of <a>ContainerVersion</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cvMacro</a></li>
--   <li><a>cvTag</a></li>
--   <li><a>cvContainerId</a></li>
--   <li><a>cvFingerprint</a></li>
--   <li><a>cvContainerVersionId</a></li>
--   <li><a>cvRule</a></li>
--   <li><a>cvFolder</a></li>
--   <li><a>cvVariable</a></li>
--   <li><a>cvAccountId</a></li>
--   <li><a>cvName</a></li>
--   <li><a>cvContainer</a></li>
--   <li><a>cvDeleted</a></li>
--   <li><a>cvTrigger</a></li>
--   <li><a>cvNotes</a></li>
--   </ul>
containerVersion :: ContainerVersion

-- | The macros in the container that this version was taken from.
cvMacro :: Lens' ContainerVersion [Macro]

-- | The tags in the container that this version was taken from.
cvTag :: Lens' ContainerVersion [Tag]

-- | GTM Container ID.
cvContainerId :: Lens' ContainerVersion (Maybe Text)

-- | The fingerprint of the GTM Container Version as computed at storage
--   time. This value is recomputed whenever the container version is
--   modified.
cvFingerprint :: Lens' ContainerVersion (Maybe Text)

-- | The Container Version ID uniquely identifies the GTM Container
--   Version.
cvContainerVersionId :: Lens' ContainerVersion (Maybe Text)

-- | The rules in the container that this version was taken from.
cvRule :: Lens' ContainerVersion [Rule]

-- | The folders in the container that this version was taken from.
cvFolder :: Lens' ContainerVersion [Folder]

-- | The variables in the container that this version was taken from.
cvVariable :: Lens' ContainerVersion [Variable]

-- | GTM Account ID.
cvAccountId :: Lens' ContainerVersion (Maybe Text)

-- | Container version display name.
cvName :: Lens' ContainerVersion (Maybe Text)

-- | The container that this version was taken from.
cvContainer :: Lens' ContainerVersion (Maybe Container)

-- | A value of true indicates this container version has been deleted.
cvDeleted :: Lens' ContainerVersion (Maybe Bool)

-- | The triggers in the container that this version was taken from.
cvTrigger :: Lens' ContainerVersion [Trigger]

-- | User notes on how to apply this container version in the container.
cvNotes :: Lens' ContainerVersion (Maybe Text)

-- | The type of this environment.
data EnvironmentType

-- | <pre>
--   draft
--   </pre>
Draft :: EnvironmentType

-- | <pre>
--   latest
--   </pre>
Latest :: EnvironmentType

-- | <pre>
--   live
--   </pre>
Live :: EnvironmentType

-- | <pre>
--   user
--   </pre>
User :: EnvironmentType
data SetupTag

-- | Creates a value of <a>SetupTag</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>stTagName</a></li>
--   <li><a>stStopOnSetupFailure</a></li>
--   </ul>
setupTag :: SetupTag

-- | The name of the setup tag.
stTagName :: Lens' SetupTag (Maybe Text)

-- | If true, fire the main tag if and only if the setup tag fires
--   successfully. If false, fire the main tag regardless of setup tag
--   firing status.
stStopOnSetupFailure :: Lens' SetupTag (Maybe Bool)

-- | List Containers Response.
--   
--   <i>See:</i> <a>listContainersResponse</a> smart constructor.
data ListContainersResponse

-- | Creates a value of <a>ListContainersResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lcrContainers</a></li>
--   </ul>
listContainersResponse :: ListContainersResponse

-- | All Containers of a GTM Account.
lcrContainers :: Lens' ListContainersResponse [Container]

-- | Represents a Google Tag Manager Trigger
--   
--   <i>See:</i> <a>trigger</a> smart constructor.
data Trigger

-- | Creates a value of <a>Trigger</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>triCustomEventFilter</a></li>
--   <li><a>triParentFolderId</a></li>
--   <li><a>triContainerId</a></li>
--   <li><a>triTriggerId</a></li>
--   <li><a>triCheckValidation</a></li>
--   <li><a>triFingerprint</a></li>
--   <li><a>triAutoEventFilter</a></li>
--   <li><a>triUniqueTriggerId</a></li>
--   <li><a>triAccountId</a></li>
--   <li><a>triName</a></li>
--   <li><a>triInterval</a></li>
--   <li><a>triEnableAllVideos</a></li>
--   <li><a>triWaitForTagsTimeout</a></li>
--   <li><a>triLimit</a></li>
--   <li><a>triFilter</a></li>
--   <li><a>triType</a></li>
--   <li><a>triVideoPercentageList</a></li>
--   <li><a>triEventName</a></li>
--   <li><a>triWaitForTags</a></li>
--   </ul>
trigger :: Trigger

-- | Used in the case of custom event, which is fired iff all Conditions
--   are true.
triCustomEventFilter :: Lens' Trigger [Condition]

-- | Parent folder id.
triParentFolderId :: Lens' Trigger (Maybe Text)

-- | GTM Container ID.
triContainerId :: Lens' Trigger (Maybe Text)

-- | The Trigger ID uniquely identifies the GTM Trigger.
triTriggerId :: Lens' Trigger (Maybe Text)

-- | Whether or not we should only fire tags if the form submit or link
--   click event is not cancelled by some other event handler (e.g. because
--   of validation). Only valid for Form Submission and Link Click
--   triggers.
triCheckValidation :: Lens' Trigger (Maybe Parameter)

-- | The fingerprint of the GTM Trigger as computed at storage time. This
--   value is recomputed whenever the trigger is modified.
triFingerprint :: Lens' Trigger (Maybe Text)

-- | Used in the case of auto event tracking.
triAutoEventFilter :: Lens' Trigger [Condition]

-- | Globally unique id of the trigger that auto-generates this (a Form
--   Submit, Link Click or Timer listener) if any. Used to make
--   incompatible auto-events work together with trigger filtering based on
--   trigger ids. This value is populated during output generation since
--   the tags implied by triggers don't exist until then. Only valid for
--   Form Submit, Link Click and Timer triggers.
triUniqueTriggerId :: Lens' Trigger (Maybe Parameter)

-- | GTM Account ID.
triAccountId :: Lens' Trigger (Maybe Text)

-- | Trigger display name.
triName :: Lens' Trigger (Maybe Text)

-- | Time between triggering recurring Timer Events (in milliseconds). Only
--   valid for Timer triggers.
triInterval :: Lens' Trigger (Maybe Parameter)

-- | Reloads the videos in the page that don't already have the YT API
--   enabled. If false, only capture events from videos that already have
--   the API enabled. Only valid for YouTube triggers.
triEnableAllVideos :: Lens' Trigger (Maybe Parameter)

-- | How long to wait (in milliseconds) for tags to fire when
--   'waits_for_tags' above evaluates to true. Only valid for Form
--   Submission and Link Click triggers.
triWaitForTagsTimeout :: Lens' Trigger (Maybe Parameter)

-- | Limit of the number of GTM events this Timer Trigger will fire. If no
--   limit is set, we will continue to fire GTM events until the user
--   leaves the page. Only valid for Timer triggers.
triLimit :: Lens' Trigger (Maybe Parameter)

-- | The trigger will only fire iff all Conditions are true.
triFilter :: Lens' Trigger [Condition]

-- | Defines the data layer event that causes this trigger.
triType :: Lens' Trigger (Maybe TriggerType)

-- | List of integer percentage values. The trigger will fire as each
--   percentage is reached in any instrumented videos. Only valid for
--   YouTube triggers.
triVideoPercentageList :: Lens' Trigger (Maybe Parameter)

-- | Name of the GTM event that is fired. Only valid for Timer triggers.
triEventName :: Lens' Trigger (Maybe Parameter)

-- | Whether or not we should delay the form submissions or link opening
--   until all of the tags have fired (by preventing the default action and
--   later simulating the default action). Only valid for Form Submission
--   and Link Click triggers.
triWaitForTags :: Lens' Trigger (Maybe Parameter)

-- | List Tags Response.
--   
--   <i>See:</i> <a>listTagsResponse</a> smart constructor.
data ListTagsResponse

-- | Creates a value of <a>ListTagsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ltrTags</a></li>
--   </ul>
listTagsResponse :: ListTagsResponse

-- | All GTM Tags of a GTM Container.
ltrTags :: Lens' ListTagsResponse [Tag]

-- | Represents a Google Tag Manager Folder's contents.
--   
--   <i>See:</i> <a>folderEntities</a> smart constructor.
data FolderEntities

-- | Creates a value of <a>FolderEntities</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>feTag</a></li>
--   <li><a>feVariable</a></li>
--   <li><a>feTrigger</a></li>
--   </ul>
folderEntities :: FolderEntities

-- | The list of tags inside the folder.
feTag :: Lens' FolderEntities [Tag]

-- | The list of variables inside the folder.
feVariable :: Lens' FolderEntities [Variable]

-- | The list of triggers inside the folder.
feTrigger :: Lens' FolderEntities [Trigger]

-- | Represents a predicate.
--   
--   <i>See:</i> <a>condition</a> smart constructor.
data Condition

-- | Creates a value of <a>Condition</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cType</a></li>
--   <li><a>cParameter</a></li>
--   </ul>
condition :: Condition

-- | The type of operator for this condition.
cType :: Lens' Condition (Maybe ConditionType)

-- | A list of named parameters (key/value), depending on the condition's
--   type. Notes: - For binary operators, include parameters named arg0 and
--   arg1 for specifying the left and right operands, respectively. - At
--   this time, the left operand (arg0) must be a reference to a variable.
--   - For case-insensitive Regex matching, include a boolean parameter
--   named ignore_case that is set to true. If not specified or set to any
--   other value, the matching will be case sensitive. - To negate an
--   operator, include a boolean parameter named negate boolean parameter
--   that is set to true.
cParameter :: Lens' Condition [Parameter]

-- | Defines the Google Tag Manager Container access permissions.
--   
--   <i>See:</i> <a>containerAccess</a> smart constructor.
data ContainerAccess

-- | Creates a value of <a>ContainerAccess</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>caContainerId</a></li>
--   <li><a>caPermission</a></li>
--   </ul>
containerAccess :: ContainerAccess

-- | GTM Container ID.
caContainerId :: Lens' ContainerAccess (Maybe Text)

-- | List of Container permissions. Valid container permissions are: read,
--   edit, delete, publish.
caPermission :: Lens' ContainerAccess [ContainerAccessPermissionItem]

-- | Represents a Google Tag Manager Parameter.
--   
--   <i>See:</i> <a>parameter</a> smart constructor.
data Parameter

-- | Creates a value of <a>Parameter</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pList</a></li>
--   <li><a>pValue</a></li>
--   <li><a>pMap</a></li>
--   <li><a>pKey</a></li>
--   <li><a>pType</a></li>
--   </ul>
parameter :: Parameter

-- | This list parameter's parameters (keys will be ignored).
pList :: Lens' Parameter [Parameter]

-- | A parameter's value (may contain variable references such as
--   "{{myVariable}}") as appropriate to the specified type.
pValue :: Lens' Parameter (Maybe Text)

-- | This map parameter's parameters (must have keys; keys must be unique).
pMap :: Lens' Parameter [Parameter]

-- | The named key that uniquely identifies a parameter. Required for
--   top-level parameters, as well as map values. Ignored for list values.
pKey :: Lens' Parameter (Maybe Text)

-- | The parameter type. Valid values are: - boolean: The value represents
--   a boolean, represented as 'true' or 'false' - integer: The value
--   represents a 64-bit signed integer value, in base 10 - list: A list of
--   parameters should be specified - map: A map of parameters should be
--   specified - template: The value represents any text; this can include
--   variable references (even variable references that might return
--   non-string types)
pType :: Lens' Parameter (Maybe ParameterType)


-- | Updates a GTM Account.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.update</tt>.
module Network.Google.Resource.TagManager.Accounts.Update

-- | A resource alias for <tt>tagmanager.accounts.update</tt> method which
--   the <a>AccountsUpdate</a> request conforms to.
type AccountsUpdateResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> (QueryParam "fingerprint" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Account :> Put '[JSON] Account))))))

-- | Creates a value of <a>AccountsUpdate</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>auFingerprint</a></li>
--   <li><a>auPayload</a></li>
--   <li><a>auAccountId</a></li>
--   </ul>
accountsUpdate :: Account -> Text -> AccountsUpdate

-- | Updates a GTM Account.
--   
--   <i>See:</i> <a>accountsUpdate</a> smart constructor.
data AccountsUpdate

-- | When provided, this fingerprint must match the fingerprint of the
--   account in storage.
auFingerprint :: Lens' AccountsUpdate (Maybe Text)

-- | Multipart request metadata.
auPayload :: Lens' AccountsUpdate Account

-- | The GTM Account ID.
auAccountId :: Lens' AccountsUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Update.AccountsUpdate
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Update.AccountsUpdate
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Update.AccountsUpdate
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Update.AccountsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Update.AccountsUpdate


-- | Updates a user's Account &amp; Container Permissions.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.permissions.update</tt>.
module Network.Google.Resource.TagManager.Accounts.Permissions.Update

-- | A resource alias for <tt>tagmanager.accounts.permissions.update</tt>
--   method which the <a>AccountsPermissionsUpdate</a> request conforms to.
type AccountsPermissionsUpdateResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("permissions" :> (Capture "permissionId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] UserAccess :> Put '[JSON] UserAccess)))))))

-- | Creates a value of <a>AccountsPermissionsUpdate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apuPayload</a></li>
--   <li><a>apuAccountId</a></li>
--   <li><a>apuPermissionId</a></li>
--   </ul>
accountsPermissionsUpdate :: UserAccess -> Text -> Text -> AccountsPermissionsUpdate

-- | Updates a user's Account &amp; Container Permissions.
--   
--   <i>See:</i> <a>accountsPermissionsUpdate</a> smart constructor.
data AccountsPermissionsUpdate

-- | Multipart request metadata.
apuPayload :: Lens' AccountsPermissionsUpdate UserAccess

-- | The GTM Account ID.
apuAccountId :: Lens' AccountsPermissionsUpdate Text

-- | The GTM User ID.
apuPermissionId :: Lens' AccountsPermissionsUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Permissions.Update.AccountsPermissionsUpdate
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Permissions.Update.AccountsPermissionsUpdate
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Permissions.Update.AccountsPermissionsUpdate
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Permissions.Update.AccountsPermissionsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Permissions.Update.AccountsPermissionsUpdate


-- | List all users that have access to the account along with Account and
--   Container Permissions granted to each of them.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.permissions.list</tt>.
module Network.Google.Resource.TagManager.Accounts.Permissions.List

-- | A resource alias for <tt>tagmanager.accounts.permissions.list</tt>
--   method which the <a>AccountsPermissionsList</a> request conforms to.
type AccountsPermissionsListResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("permissions" :> (QueryParam "alt" AltJSON :> Get '[JSON] ListAccountUsersResponse)))))

-- | Creates a value of <a>AccountsPermissionsList</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aplAccountId</a></li>
--   </ul>
accountsPermissionsList :: Text -> AccountsPermissionsList

-- | List all users that have access to the account along with Account and
--   Container Permissions granted to each of them.
--   
--   <i>See:</i> <a>accountsPermissionsList</a> smart constructor.
data AccountsPermissionsList

-- | The GTM Account ID. 'required tagmanager.accounts.permissions.list
aplAccountId :: Lens' AccountsPermissionsList Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Permissions.List.AccountsPermissionsList
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Permissions.List.AccountsPermissionsList
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Permissions.List.AccountsPermissionsList
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Permissions.List.AccountsPermissionsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Permissions.List.AccountsPermissionsList


-- | Gets a user's Account &amp; Container Permissions.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.permissions.get</tt>.
module Network.Google.Resource.TagManager.Accounts.Permissions.Get

-- | A resource alias for <tt>tagmanager.accounts.permissions.get</tt>
--   method which the <a>AccountsPermissionsGet</a> request conforms to.
type AccountsPermissionsGetResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("permissions" :> (Capture "permissionId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] UserAccess))))))

-- | Creates a value of <a>AccountsPermissionsGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apgAccountId</a></li>
--   <li><a>apgPermissionId</a></li>
--   </ul>
accountsPermissionsGet :: Text -> Text -> AccountsPermissionsGet

-- | Gets a user's Account &amp; Container Permissions.
--   
--   <i>See:</i> <a>accountsPermissionsGet</a> smart constructor.
data AccountsPermissionsGet

-- | The GTM Account ID.
apgAccountId :: Lens' AccountsPermissionsGet Text

-- | The GTM User ID.
apgPermissionId :: Lens' AccountsPermissionsGet Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Permissions.Get.AccountsPermissionsGet
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Permissions.Get.AccountsPermissionsGet
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Permissions.Get.AccountsPermissionsGet
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Permissions.Get.AccountsPermissionsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Permissions.Get.AccountsPermissionsGet


-- | Removes a user from the account, revoking access to it and all of its
--   containers.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.permissions.delete</tt>.
module Network.Google.Resource.TagManager.Accounts.Permissions.Delete

-- | A resource alias for <tt>tagmanager.accounts.permissions.delete</tt>
--   method which the <a>AccountsPermissionsDelete</a> request conforms to.
type AccountsPermissionsDeleteResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("permissions" :> (Capture "permissionId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))

-- | Creates a value of <a>AccountsPermissionsDelete</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apdAccountId</a></li>
--   <li><a>apdPermissionId</a></li>
--   </ul>
accountsPermissionsDelete :: Text -> Text -> AccountsPermissionsDelete

-- | Removes a user from the account, revoking access to it and all of its
--   containers.
--   
--   <i>See:</i> <a>accountsPermissionsDelete</a> smart constructor.
data AccountsPermissionsDelete

-- | The GTM Account ID.
apdAccountId :: Lens' AccountsPermissionsDelete Text

-- | The GTM User ID.
apdPermissionId :: Lens' AccountsPermissionsDelete Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Permissions.Delete.AccountsPermissionsDelete
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Permissions.Delete.AccountsPermissionsDelete
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Permissions.Delete.AccountsPermissionsDelete
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Permissions.Delete.AccountsPermissionsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Permissions.Delete.AccountsPermissionsDelete


-- | Creates a user's Account &amp; Container Permissions.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.permissions.create</tt>.
module Network.Google.Resource.TagManager.Accounts.Permissions.Create

-- | A resource alias for <tt>tagmanager.accounts.permissions.create</tt>
--   method which the <a>AccountsPermissionsCreate</a> request conforms to.
type AccountsPermissionsCreateResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("permissions" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] UserAccess :> Post '[JSON] UserAccess))))))

-- | Creates a value of <a>AccountsPermissionsCreate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>apcPayload</a></li>
--   <li><a>apcAccountId</a></li>
--   </ul>
accountsPermissionsCreate :: UserAccess -> Text -> AccountsPermissionsCreate

-- | Creates a user's Account &amp; Container Permissions.
--   
--   <i>See:</i> <a>accountsPermissionsCreate</a> smart constructor.
data AccountsPermissionsCreate

-- | Multipart request metadata.
apcPayload :: Lens' AccountsPermissionsCreate UserAccess

-- | The GTM Account ID.
apcAccountId :: Lens' AccountsPermissionsCreate Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Permissions.Create.AccountsPermissionsCreate
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Permissions.Create.AccountsPermissionsCreate
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Permissions.Create.AccountsPermissionsCreate
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Permissions.Create.AccountsPermissionsCreate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Permissions.Create.AccountsPermissionsCreate


-- | Lists all GTM Accounts that a user has access to.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.list</tt>.
module Network.Google.Resource.TagManager.Accounts.List

-- | A resource alias for <tt>tagmanager.accounts.list</tt> method which
--   the <a>AccountsList</a> request conforms to.
type AccountsListResource = "tagmanager" :> ("v1" :> ("accounts" :> (QueryParam "alt" AltJSON :> Get '[JSON] ListAccountsResponse)))

-- | Creates a value of <a>AccountsList</a> with the minimum fields
--   required to make a request.
accountsList :: AccountsList

-- | Lists all GTM Accounts that a user has access to.
--   
--   <i>See:</i> <a>accountsList</a> smart constructor.
data AccountsList
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.List.AccountsList
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.List.AccountsList
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.List.AccountsList
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.List.AccountsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.List.AccountsList


-- | Gets a GTM Account.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.get</tt>.
module Network.Google.Resource.TagManager.Accounts.Get

-- | A resource alias for <tt>tagmanager.accounts.get</tt> method which the
--   <a>AccountsGet</a> request conforms to.
type AccountsGetResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Account))))

-- | Creates a value of <a>AccountsGet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>agAccountId</a></li>
--   </ul>
accountsGet :: Text -> AccountsGet

-- | Gets a GTM Account.
--   
--   <i>See:</i> <a>accountsGet</a> smart constructor.
data AccountsGet

-- | The GTM Account ID.
agAccountId :: Lens' AccountsGet Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Get.AccountsGet
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Get.AccountsGet
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Get.AccountsGet
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Get.AccountsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Get.AccountsGet


-- | Updates a Container Version.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.versions.update</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Versions.Update

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.versions.update</tt> method which
--   the <a>AccountsContainersVersionsUpdate</a> request conforms to.
type AccountsContainersVersionsUpdateResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("versions" :> (Capture "containerVersionId" Text :> (QueryParam "fingerprint" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] ContainerVersion :> Put '[JSON] ContainerVersion))))))))))

-- | Creates a value of <a>AccountsContainersVersionsUpdate</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acccContainerId</a></li>
--   <li><a>acccFingerprint</a></li>
--   <li><a>acccContainerVersionId</a></li>
--   <li><a>acccPayload</a></li>
--   <li><a>acccAccountId</a></li>
--   </ul>
accountsContainersVersionsUpdate :: Text -> Text -> ContainerVersion -> Text -> AccountsContainersVersionsUpdate

-- | Updates a Container Version.
--   
--   <i>See:</i> <a>accountsContainersVersionsUpdate</a> smart constructor.
data AccountsContainersVersionsUpdate

-- | The GTM Container ID.
acccContainerId :: Lens' AccountsContainersVersionsUpdate Text

-- | When provided, this fingerprint must match the fingerprint of the
--   container version in storage.
acccFingerprint :: Lens' AccountsContainersVersionsUpdate (Maybe Text)

-- | The GTM Container Version ID.
acccContainerVersionId :: Lens' AccountsContainersVersionsUpdate Text

-- | Multipart request metadata.
acccPayload :: Lens' AccountsContainersVersionsUpdate ContainerVersion

-- | The GTM Account ID.
acccAccountId :: Lens' AccountsContainersVersionsUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Versions.Update.AccountsContainersVersionsUpdate
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Versions.Update.AccountsContainersVersionsUpdate
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Versions.Update.AccountsContainersVersionsUpdate
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Versions.Update.AccountsContainersVersionsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Versions.Update.AccountsContainersVersionsUpdate


-- | Undeletes a Container Version.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.versions.undelete</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Versions.Undelete

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.versions.undelete</tt> method which
--   the <a>AccountsContainersVersionsUndelete</a> request conforms to.
type AccountsContainersVersionsUndeleteResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("versions" :> (Capture "containerVersionId" Text :> ("undelete" :> (QueryParam "alt" AltJSON :> Post '[JSON] ContainerVersion)))))))))

-- | Creates a value of <a>AccountsContainersVersionsUndelete</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acvucContainerId</a></li>
--   <li><a>acvucContainerVersionId</a></li>
--   <li><a>acvucAccountId</a></li>
--   </ul>
accountsContainersVersionsUndelete :: Text -> Text -> Text -> AccountsContainersVersionsUndelete

-- | Undeletes a Container Version.
--   
--   <i>See:</i> <a>accountsContainersVersionsUndelete</a> smart
--   constructor.
data AccountsContainersVersionsUndelete

-- | The GTM Container ID.
acvucContainerId :: Lens' AccountsContainersVersionsUndelete Text

-- | The GTM Container Version ID.
acvucContainerVersionId :: Lens' AccountsContainersVersionsUndelete Text

-- | The GTM Account ID.
acvucAccountId :: Lens' AccountsContainersVersionsUndelete Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Versions.Undelete.AccountsContainersVersionsUndelete
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Versions.Undelete.AccountsContainersVersionsUndelete
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Versions.Undelete.AccountsContainersVersionsUndelete
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Versions.Undelete.AccountsContainersVersionsUndelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Versions.Undelete.AccountsContainersVersionsUndelete


-- | Restores a Container Version. This will overwrite the container's
--   current configuration (including its variables, triggers and tags).
--   The operation will not have any effect on the version that is being
--   served (i.e. the published version).
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.versions.restore</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Versions.Restore

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.versions.restore</tt> method which
--   the <a>AccountsContainersVersionsRestore</a> request conforms to.
type AccountsContainersVersionsRestoreResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("versions" :> (Capture "containerVersionId" Text :> ("restore" :> (QueryParam "alt" AltJSON :> Post '[JSON] ContainerVersion)))))))))

-- | Creates a value of <a>AccountsContainersVersionsRestore</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acvrContainerId</a></li>
--   <li><a>acvrContainerVersionId</a></li>
--   <li><a>acvrAccountId</a></li>
--   </ul>
accountsContainersVersionsRestore :: Text -> Text -> Text -> AccountsContainersVersionsRestore

-- | Restores a Container Version. This will overwrite the container's
--   current configuration (including its variables, triggers and tags).
--   The operation will not have any effect on the version that is being
--   served (i.e. the published version).
--   
--   <i>See:</i> <a>accountsContainersVersionsRestore</a> smart
--   constructor.
data AccountsContainersVersionsRestore

-- | The GTM Container ID.
acvrContainerId :: Lens' AccountsContainersVersionsRestore Text

-- | The GTM Container Version ID.
acvrContainerVersionId :: Lens' AccountsContainersVersionsRestore Text

-- | The GTM Account ID.
acvrAccountId :: Lens' AccountsContainersVersionsRestore Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Versions.Restore.AccountsContainersVersionsRestore
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Versions.Restore.AccountsContainersVersionsRestore
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Versions.Restore.AccountsContainersVersionsRestore
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Versions.Restore.AccountsContainersVersionsRestore
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Versions.Restore.AccountsContainersVersionsRestore


-- | Publishes a Container Version.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.versions.publish</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Versions.Publish

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.versions.publish</tt> method which
--   the <a>AccountsContainersVersionsPublish</a> request conforms to.
type AccountsContainersVersionsPublishResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("versions" :> (Capture "containerVersionId" Text :> ("publish" :> (QueryParam "fingerprint" Text :> (QueryParam "alt" AltJSON :> Post '[JSON] PublishContainerVersionResponse))))))))))

-- | Creates a value of <a>AccountsContainersVersionsPublish</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acvpContainerId</a></li>
--   <li><a>acvpFingerprint</a></li>
--   <li><a>acvpContainerVersionId</a></li>
--   <li><a>acvpAccountId</a></li>
--   </ul>
accountsContainersVersionsPublish :: Text -> Text -> Text -> AccountsContainersVersionsPublish

-- | Publishes a Container Version.
--   
--   <i>See:</i> <a>accountsContainersVersionsPublish</a> smart
--   constructor.
data AccountsContainersVersionsPublish

-- | The GTM Container ID.
acvpContainerId :: Lens' AccountsContainersVersionsPublish Text

-- | When provided, this fingerprint must match the fingerprint of the
--   container version in storage.
acvpFingerprint :: Lens' AccountsContainersVersionsPublish (Maybe Text)

-- | The GTM Container Version ID.
acvpContainerVersionId :: Lens' AccountsContainersVersionsPublish Text

-- | The GTM Account ID.
acvpAccountId :: Lens' AccountsContainersVersionsPublish Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Versions.Publish.AccountsContainersVersionsPublish
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Versions.Publish.AccountsContainersVersionsPublish
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Versions.Publish.AccountsContainersVersionsPublish
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Versions.Publish.AccountsContainersVersionsPublish
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Versions.Publish.AccountsContainersVersionsPublish


-- | Lists all Container Versions of a GTM Container.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.versions.list</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Versions.List

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.versions.list</tt> method which the
--   <a>AccountsContainersVersionsList</a> request conforms to.
type AccountsContainersVersionsListResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("versions" :> (QueryParam "headers" Bool :> (QueryParam "includeDeleted" Bool :> (QueryParam "alt" AltJSON :> Get '[JSON] ListContainerVersionsResponse)))))))))

-- | Creates a value of <a>AccountsContainersVersionsList</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acvlContainerId</a></li>
--   <li><a>acvlHeaders</a></li>
--   <li><a>acvlAccountId</a></li>
--   <li><a>acvlIncludeDeleted</a></li>
--   </ul>
accountsContainersVersionsList :: Text -> Text -> AccountsContainersVersionsList

-- | Lists all Container Versions of a GTM Container.
--   
--   <i>See:</i> <a>accountsContainersVersionsList</a> smart constructor.
data AccountsContainersVersionsList

-- | The GTM Container ID.
acvlContainerId :: Lens' AccountsContainersVersionsList Text

-- | Retrieve headers only when true.
acvlHeaders :: Lens' AccountsContainersVersionsList Bool

-- | The GTM Account ID.
acvlAccountId :: Lens' AccountsContainersVersionsList Text

-- | Also retrieve deleted (archived) versions when true.
acvlIncludeDeleted :: Lens' AccountsContainersVersionsList Bool
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Versions.List.AccountsContainersVersionsList
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Versions.List.AccountsContainersVersionsList
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Versions.List.AccountsContainersVersionsList
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Versions.List.AccountsContainersVersionsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Versions.List.AccountsContainersVersionsList


-- | Gets a Container Version.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.versions.get</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Versions.Get

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.versions.get</tt> method which the
--   <a>AccountsContainersVersionsGet</a> request conforms to.
type AccountsContainersVersionsGetResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("versions" :> (Capture "containerVersionId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] ContainerVersion))))))))

-- | Creates a value of <a>AccountsContainersVersionsGet</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acvgcContainerId</a></li>
--   <li><a>acvgcContainerVersionId</a></li>
--   <li><a>acvgcAccountId</a></li>
--   </ul>
accountsContainersVersionsGet :: Text -> Text -> Text -> AccountsContainersVersionsGet

-- | Gets a Container Version.
--   
--   <i>See:</i> <a>accountsContainersVersionsGet</a> smart constructor.
data AccountsContainersVersionsGet

-- | The GTM Container ID.
acvgcContainerId :: Lens' AccountsContainersVersionsGet Text

-- | The GTM Container Version ID. Specify published to retrieve the
--   currently published version.
acvgcContainerVersionId :: Lens' AccountsContainersVersionsGet Text

-- | The GTM Account ID.
acvgcAccountId :: Lens' AccountsContainersVersionsGet Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Versions.Get.AccountsContainersVersionsGet
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Versions.Get.AccountsContainersVersionsGet
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Versions.Get.AccountsContainersVersionsGet
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Versions.Get.AccountsContainersVersionsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Versions.Get.AccountsContainersVersionsGet


-- | Deletes a Container Version.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.versions.delete</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Versions.Delete

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.versions.delete</tt> method which
--   the <a>AccountsContainersVersionsDelete</a> request conforms to.
type AccountsContainersVersionsDeleteResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("versions" :> (Capture "containerVersionId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))))

-- | Creates a value of <a>AccountsContainersVersionsDelete</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acvdcContainerId</a></li>
--   <li><a>acvdcContainerVersionId</a></li>
--   <li><a>acvdcAccountId</a></li>
--   </ul>
accountsContainersVersionsDelete :: Text -> Text -> Text -> AccountsContainersVersionsDelete

-- | Deletes a Container Version.
--   
--   <i>See:</i> <a>accountsContainersVersionsDelete</a> smart constructor.
data AccountsContainersVersionsDelete

-- | The GTM Container ID.
acvdcContainerId :: Lens' AccountsContainersVersionsDelete Text

-- | The GTM Container Version ID.
acvdcContainerVersionId :: Lens' AccountsContainersVersionsDelete Text

-- | The GTM Account ID.
acvdcAccountId :: Lens' AccountsContainersVersionsDelete Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Versions.Delete.AccountsContainersVersionsDelete
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Versions.Delete.AccountsContainersVersionsDelete
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Versions.Delete.AccountsContainersVersionsDelete
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Versions.Delete.AccountsContainersVersionsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Versions.Delete.AccountsContainersVersionsDelete


-- | Creates a Container Version.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.versions.create</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Versions.Create

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.versions.create</tt> method which
--   the <a>AccountsContainersVersionsCreate</a> request conforms to.
type AccountsContainersVersionsCreateResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("versions" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] CreateContainerVersionRequestVersionOptions :> Post '[JSON] CreateContainerVersionResponse))))))))

-- | Creates a value of <a>AccountsContainersVersionsCreate</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aContainerId</a></li>
--   <li><a>aPayload</a></li>
--   <li><a>aAccountId</a></li>
--   </ul>
accountsContainersVersionsCreate :: Text -> CreateContainerVersionRequestVersionOptions -> Text -> AccountsContainersVersionsCreate

-- | Creates a Container Version.
--   
--   <i>See:</i> <a>accountsContainersVersionsCreate</a> smart constructor.
data AccountsContainersVersionsCreate

-- | The GTM Container ID.
aContainerId :: Lens' AccountsContainersVersionsCreate Text

-- | Multipart request metadata.
aPayload :: Lens' AccountsContainersVersionsCreate CreateContainerVersionRequestVersionOptions

-- | The GTM Account ID.
aAccountId :: Lens' AccountsContainersVersionsCreate Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Versions.Create.AccountsContainersVersionsCreate
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Versions.Create.AccountsContainersVersionsCreate
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Versions.Create.AccountsContainersVersionsCreate
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Versions.Create.AccountsContainersVersionsCreate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Versions.Create.AccountsContainersVersionsCreate


-- | Updates a GTM Variable.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.variables.update</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Variables.Update

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.variables.update</tt> method which
--   the <a>AccountsContainersVariablesUpdate</a> request conforms to.
type AccountsContainersVariablesUpdateResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("variables" :> (Capture "variableId" Text :> (QueryParam "fingerprint" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Variable :> Put '[JSON] Variable))))))))))

-- | Creates a value of <a>AccountsContainersVariablesUpdate</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acvuContainerId</a></li>
--   <li><a>acvuFingerprint</a></li>
--   <li><a>acvuVariableId</a></li>
--   <li><a>acvuPayload</a></li>
--   <li><a>acvuAccountId</a></li>
--   </ul>
accountsContainersVariablesUpdate :: Text -> Text -> Variable -> Text -> AccountsContainersVariablesUpdate

-- | Updates a GTM Variable.
--   
--   <i>See:</i> <a>accountsContainersVariablesUpdate</a> smart
--   constructor.
data AccountsContainersVariablesUpdate

-- | The GTM Container ID.
acvuContainerId :: Lens' AccountsContainersVariablesUpdate Text

-- | When provided, this fingerprint must match the fingerprint of the
--   variable in storage.
acvuFingerprint :: Lens' AccountsContainersVariablesUpdate (Maybe Text)

-- | The GTM Variable ID.
acvuVariableId :: Lens' AccountsContainersVariablesUpdate Text

-- | Multipart request metadata.
acvuPayload :: Lens' AccountsContainersVariablesUpdate Variable

-- | The GTM Account ID.
acvuAccountId :: Lens' AccountsContainersVariablesUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Variables.Update.AccountsContainersVariablesUpdate
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Variables.Update.AccountsContainersVariablesUpdate
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Variables.Update.AccountsContainersVariablesUpdate
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Variables.Update.AccountsContainersVariablesUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Variables.Update.AccountsContainersVariablesUpdate


-- | Lists all GTM Variables of a Container.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.variables.list</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Variables.List

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.variables.list</tt> method which
--   the <a>AccountsContainersVariablesList</a> request conforms to.
type AccountsContainersVariablesListResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("variables" :> (QueryParam "alt" AltJSON :> Get '[JSON] ListVariablesResponse)))))))

-- | Creates a value of <a>AccountsContainersVariablesList</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acvlcContainerId</a></li>
--   <li><a>acvlcAccountId</a></li>
--   </ul>
accountsContainersVariablesList :: Text -> Text -> AccountsContainersVariablesList

-- | Lists all GTM Variables of a Container.
--   
--   <i>See:</i> <a>accountsContainersVariablesList</a> smart constructor.
data AccountsContainersVariablesList

-- | The GTM Container ID.
acvlcContainerId :: Lens' AccountsContainersVariablesList Text

-- | The GTM Account ID.
acvlcAccountId :: Lens' AccountsContainersVariablesList Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Variables.List.AccountsContainersVariablesList
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Variables.List.AccountsContainersVariablesList
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Variables.List.AccountsContainersVariablesList
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Variables.List.AccountsContainersVariablesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Variables.List.AccountsContainersVariablesList


-- | Gets a GTM Variable.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.variables.get</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Variables.Get

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.variables.get</tt> method which the
--   <a>AccountsContainersVariablesGet</a> request conforms to.
type AccountsContainersVariablesGetResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("variables" :> (Capture "variableId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Variable))))))))

-- | Creates a value of <a>AccountsContainersVariablesGet</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acvgContainerId</a></li>
--   <li><a>acvgVariableId</a></li>
--   <li><a>acvgAccountId</a></li>
--   </ul>
accountsContainersVariablesGet :: Text -> Text -> Text -> AccountsContainersVariablesGet

-- | Gets a GTM Variable.
--   
--   <i>See:</i> <a>accountsContainersVariablesGet</a> smart constructor.
data AccountsContainersVariablesGet

-- | The GTM Container ID.
acvgContainerId :: Lens' AccountsContainersVariablesGet Text

-- | The GTM Variable ID.
acvgVariableId :: Lens' AccountsContainersVariablesGet Text

-- | The GTM Account ID.
acvgAccountId :: Lens' AccountsContainersVariablesGet Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Variables.Get.AccountsContainersVariablesGet
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Variables.Get.AccountsContainersVariablesGet
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Variables.Get.AccountsContainersVariablesGet
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Variables.Get.AccountsContainersVariablesGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Variables.Get.AccountsContainersVariablesGet


-- | Deletes a GTM Variable.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.variables.delete</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Variables.Delete

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.variables.delete</tt> method which
--   the <a>AccountsContainersVariablesDelete</a> request conforms to.
type AccountsContainersVariablesDeleteResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("variables" :> (Capture "variableId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))))

-- | Creates a value of <a>AccountsContainersVariablesDelete</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acvdContainerId</a></li>
--   <li><a>acvdVariableId</a></li>
--   <li><a>acvdAccountId</a></li>
--   </ul>
accountsContainersVariablesDelete :: Text -> Text -> Text -> AccountsContainersVariablesDelete

-- | Deletes a GTM Variable.
--   
--   <i>See:</i> <a>accountsContainersVariablesDelete</a> smart
--   constructor.
data AccountsContainersVariablesDelete

-- | The GTM Container ID.
acvdContainerId :: Lens' AccountsContainersVariablesDelete Text

-- | The GTM Variable ID.
acvdVariableId :: Lens' AccountsContainersVariablesDelete Text

-- | The GTM Account ID.
acvdAccountId :: Lens' AccountsContainersVariablesDelete Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Variables.Delete.AccountsContainersVariablesDelete
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Variables.Delete.AccountsContainersVariablesDelete
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Variables.Delete.AccountsContainersVariablesDelete
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Variables.Delete.AccountsContainersVariablesDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Variables.Delete.AccountsContainersVariablesDelete


-- | Creates a GTM Variable.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.variables.create</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Variables.Create

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.variables.create</tt> method which
--   the <a>AccountsContainersVariablesCreate</a> request conforms to.
type AccountsContainersVariablesCreateResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("variables" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Variable :> Post '[JSON] Variable))))))))

-- | Creates a value of <a>AccountsContainersVariablesCreate</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acvcContainerId</a></li>
--   <li><a>acvcPayload</a></li>
--   <li><a>acvcAccountId</a></li>
--   </ul>
accountsContainersVariablesCreate :: Text -> Variable -> Text -> AccountsContainersVariablesCreate

-- | Creates a GTM Variable.
--   
--   <i>See:</i> <a>accountsContainersVariablesCreate</a> smart
--   constructor.
data AccountsContainersVariablesCreate

-- | The GTM Container ID.
acvcContainerId :: Lens' AccountsContainersVariablesCreate Text

-- | Multipart request metadata.
acvcPayload :: Lens' AccountsContainersVariablesCreate Variable

-- | The GTM Account ID.
acvcAccountId :: Lens' AccountsContainersVariablesCreate Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Variables.Create.AccountsContainersVariablesCreate
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Variables.Create.AccountsContainersVariablesCreate
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Variables.Create.AccountsContainersVariablesCreate
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Variables.Create.AccountsContainersVariablesCreate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Variables.Create.AccountsContainersVariablesCreate


-- | Updates a Container.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.update</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Update

-- | A resource alias for <tt>tagmanager.accounts.containers.update</tt>
--   method which the <a>AccountsContainersUpdate</a> request conforms to.
type AccountsContainersUpdateResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> (QueryParam "fingerprint" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Container :> Put '[JSON] Container))))))))

-- | Creates a value of <a>AccountsContainersUpdate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acuContainerId</a></li>
--   <li><a>acuFingerprint</a></li>
--   <li><a>acuPayload</a></li>
--   <li><a>acuAccountId</a></li>
--   </ul>
accountsContainersUpdate :: Text -> Container -> Text -> AccountsContainersUpdate

-- | Updates a Container.
--   
--   <i>See:</i> <a>accountsContainersUpdate</a> smart constructor.
data AccountsContainersUpdate

-- | The GTM Container ID.
acuContainerId :: Lens' AccountsContainersUpdate Text

-- | When provided, this fingerprint must match the fingerprint of the
--   container in storage.
acuFingerprint :: Lens' AccountsContainersUpdate (Maybe Text)

-- | Multipart request metadata.
acuPayload :: Lens' AccountsContainersUpdate Container

-- | The GTM Account ID.
acuAccountId :: Lens' AccountsContainersUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Update.AccountsContainersUpdate
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Update.AccountsContainersUpdate
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Update.AccountsContainersUpdate
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Update.AccountsContainersUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Update.AccountsContainersUpdate


-- | Updates a GTM Trigger.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.triggers.update</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Update

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.triggers.update</tt> method which
--   the <a>AccountsContainersTriggersUpdate</a> request conforms to.
type AccountsContainersTriggersUpdateResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("triggers" :> (Capture "triggerId" Text :> (QueryParam "fingerprint" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Trigger :> Put '[JSON] Trigger))))))))))

-- | Creates a value of <a>AccountsContainersTriggersUpdate</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>actuContainerId</a></li>
--   <li><a>actuTriggerId</a></li>
--   <li><a>actuFingerprint</a></li>
--   <li><a>actuPayload</a></li>
--   <li><a>actuAccountId</a></li>
--   </ul>
accountsContainersTriggersUpdate :: Text -> Text -> Trigger -> Text -> AccountsContainersTriggersUpdate

-- | Updates a GTM Trigger.
--   
--   <i>See:</i> <a>accountsContainersTriggersUpdate</a> smart constructor.
data AccountsContainersTriggersUpdate

-- | The GTM Container ID.
actuContainerId :: Lens' AccountsContainersTriggersUpdate Text

-- | The GTM Trigger ID.
actuTriggerId :: Lens' AccountsContainersTriggersUpdate Text

-- | When provided, this fingerprint must match the fingerprint of the
--   trigger in storage.
actuFingerprint :: Lens' AccountsContainersTriggersUpdate (Maybe Text)

-- | Multipart request metadata.
actuPayload :: Lens' AccountsContainersTriggersUpdate Trigger

-- | The GTM Account ID.
actuAccountId :: Lens' AccountsContainersTriggersUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Update.AccountsContainersTriggersUpdate
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Update.AccountsContainersTriggersUpdate
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Update.AccountsContainersTriggersUpdate
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Update.AccountsContainersTriggersUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Update.AccountsContainersTriggersUpdate


-- | Lists all GTM Triggers of a Container.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.triggers.list</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Triggers.List

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.triggers.list</tt> method which the
--   <a>AccountsContainersTriggersList</a> request conforms to.
type AccountsContainersTriggersListResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("triggers" :> (QueryParam "alt" AltJSON :> Get '[JSON] ListTriggersResponse)))))))

-- | Creates a value of <a>AccountsContainersTriggersList</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>actlcContainerId</a></li>
--   <li><a>actlcAccountId</a></li>
--   </ul>
accountsContainersTriggersList :: Text -> Text -> AccountsContainersTriggersList

-- | Lists all GTM Triggers of a Container.
--   
--   <i>See:</i> <a>accountsContainersTriggersList</a> smart constructor.
data AccountsContainersTriggersList

-- | The GTM Container ID.
actlcContainerId :: Lens' AccountsContainersTriggersList Text

-- | The GTM Account ID.
actlcAccountId :: Lens' AccountsContainersTriggersList Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Triggers.List.AccountsContainersTriggersList
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Triggers.List.AccountsContainersTriggersList
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Triggers.List.AccountsContainersTriggersList
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Triggers.List.AccountsContainersTriggersList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Triggers.List.AccountsContainersTriggersList


-- | Gets a GTM Trigger.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.triggers.get</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Get

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.triggers.get</tt> method which the
--   <a>AccountsContainersTriggersGet</a> request conforms to.
type AccountsContainersTriggersGetResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("triggers" :> (Capture "triggerId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Trigger))))))))

-- | Creates a value of <a>AccountsContainersTriggersGet</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>actgcContainerId</a></li>
--   <li><a>actgcTriggerId</a></li>
--   <li><a>actgcAccountId</a></li>
--   </ul>
accountsContainersTriggersGet :: Text -> Text -> Text -> AccountsContainersTriggersGet

-- | Gets a GTM Trigger.
--   
--   <i>See:</i> <a>accountsContainersTriggersGet</a> smart constructor.
data AccountsContainersTriggersGet

-- | The GTM Container ID.
actgcContainerId :: Lens' AccountsContainersTriggersGet Text

-- | The GTM Trigger ID.
actgcTriggerId :: Lens' AccountsContainersTriggersGet Text

-- | The GTM Account ID.
actgcAccountId :: Lens' AccountsContainersTriggersGet Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Get.AccountsContainersTriggersGet
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Get.AccountsContainersTriggersGet
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Get.AccountsContainersTriggersGet
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Get.AccountsContainersTriggersGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Get.AccountsContainersTriggersGet


-- | Deletes a GTM Trigger.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.triggers.delete</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Delete

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.triggers.delete</tt> method which
--   the <a>AccountsContainersTriggersDelete</a> request conforms to.
type AccountsContainersTriggersDeleteResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("triggers" :> (Capture "triggerId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))))

-- | Creates a value of <a>AccountsContainersTriggersDelete</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>actdContainerId</a></li>
--   <li><a>actdTriggerId</a></li>
--   <li><a>actdAccountId</a></li>
--   </ul>
accountsContainersTriggersDelete :: Text -> Text -> Text -> AccountsContainersTriggersDelete

-- | Deletes a GTM Trigger.
--   
--   <i>See:</i> <a>accountsContainersTriggersDelete</a> smart constructor.
data AccountsContainersTriggersDelete

-- | The GTM Container ID.
actdContainerId :: Lens' AccountsContainersTriggersDelete Text

-- | The GTM Trigger ID.
actdTriggerId :: Lens' AccountsContainersTriggersDelete Text

-- | The GTM Account ID.
actdAccountId :: Lens' AccountsContainersTriggersDelete Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Delete.AccountsContainersTriggersDelete
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Delete.AccountsContainersTriggersDelete
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Delete.AccountsContainersTriggersDelete
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Delete.AccountsContainersTriggersDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Delete.AccountsContainersTriggersDelete


-- | Creates a GTM Trigger.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.triggers.create</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Create

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.triggers.create</tt> method which
--   the <a>AccountsContainersTriggersCreate</a> request conforms to.
type AccountsContainersTriggersCreateResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("triggers" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Trigger :> Post '[JSON] Trigger))))))))

-- | Creates a value of <a>AccountsContainersTriggersCreate</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>actcContainerId</a></li>
--   <li><a>actcPayload</a></li>
--   <li><a>actcAccountId</a></li>
--   </ul>
accountsContainersTriggersCreate :: Text -> Trigger -> Text -> AccountsContainersTriggersCreate

-- | Creates a GTM Trigger.
--   
--   <i>See:</i> <a>accountsContainersTriggersCreate</a> smart constructor.
data AccountsContainersTriggersCreate

-- | The GTM Container ID.
actcContainerId :: Lens' AccountsContainersTriggersCreate Text

-- | Multipart request metadata.
actcPayload :: Lens' AccountsContainersTriggersCreate Trigger

-- | The GTM Account ID.
actcAccountId :: Lens' AccountsContainersTriggersCreate Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Create.AccountsContainersTriggersCreate
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Create.AccountsContainersTriggersCreate
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Create.AccountsContainersTriggersCreate
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Create.AccountsContainersTriggersCreate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Triggers.Create.AccountsContainersTriggersCreate


-- | Updates a GTM Tag.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.tags.update</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Tags.Update

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.tags.update</tt> method which the
--   <a>AccountsContainersTagsUpdate</a> request conforms to.
type AccountsContainersTagsUpdateResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("tags" :> (Capture "tagId" Text :> (QueryParam "fingerprint" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Tag :> Put '[JSON] Tag))))))))))

-- | Creates a value of <a>AccountsContainersTagsUpdate</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>actucContainerId</a></li>
--   <li><a>actucFingerprint</a></li>
--   <li><a>actucPayload</a></li>
--   <li><a>actucAccountId</a></li>
--   <li><a>actucTagId</a></li>
--   </ul>
accountsContainersTagsUpdate :: Text -> Tag -> Text -> Text -> AccountsContainersTagsUpdate

-- | Updates a GTM Tag.
--   
--   <i>See:</i> <a>accountsContainersTagsUpdate</a> smart constructor.
data AccountsContainersTagsUpdate

-- | The GTM Container ID.
actucContainerId :: Lens' AccountsContainersTagsUpdate Text

-- | When provided, this fingerprint must match the fingerprint of the tag
--   in storage.
actucFingerprint :: Lens' AccountsContainersTagsUpdate (Maybe Text)

-- | Multipart request metadata.
actucPayload :: Lens' AccountsContainersTagsUpdate Tag

-- | The GTM Account ID.
actucAccountId :: Lens' AccountsContainersTagsUpdate Text

-- | The GTM Tag ID.
actucTagId :: Lens' AccountsContainersTagsUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Tags.Update.AccountsContainersTagsUpdate
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Tags.Update.AccountsContainersTagsUpdate
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Tags.Update.AccountsContainersTagsUpdate
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Tags.Update.AccountsContainersTagsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Tags.Update.AccountsContainersTagsUpdate


-- | Lists all GTM Tags of a Container.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.tags.list</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Tags.List

-- | A resource alias for <tt>tagmanager.accounts.containers.tags.list</tt>
--   method which the <a>AccountsContainersTagsList</a> request conforms
--   to.
type AccountsContainersTagsListResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("tags" :> (QueryParam "alt" AltJSON :> Get '[JSON] ListTagsResponse)))))))

-- | Creates a value of <a>AccountsContainersTagsList</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>actlContainerId</a></li>
--   <li><a>actlAccountId</a></li>
--   </ul>
accountsContainersTagsList :: Text -> Text -> AccountsContainersTagsList

-- | Lists all GTM Tags of a Container.
--   
--   <i>See:</i> <a>accountsContainersTagsList</a> smart constructor.
data AccountsContainersTagsList

-- | The GTM Container ID.
actlContainerId :: Lens' AccountsContainersTagsList Text

-- | The GTM Account ID.
actlAccountId :: Lens' AccountsContainersTagsList Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Tags.List.AccountsContainersTagsList
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Tags.List.AccountsContainersTagsList
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Tags.List.AccountsContainersTagsList
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Tags.List.AccountsContainersTagsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Tags.List.AccountsContainersTagsList


-- | Gets a GTM Tag.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.tags.get</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Tags.Get

-- | A resource alias for <tt>tagmanager.accounts.containers.tags.get</tt>
--   method which the <a>AccountsContainersTagsGet</a> request conforms to.
type AccountsContainersTagsGetResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("tags" :> (Capture "tagId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Tag))))))))

-- | Creates a value of <a>AccountsContainersTagsGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>actgContainerId</a></li>
--   <li><a>actgAccountId</a></li>
--   <li><a>actgTagId</a></li>
--   </ul>
accountsContainersTagsGet :: Text -> Text -> Text -> AccountsContainersTagsGet

-- | Gets a GTM Tag.
--   
--   <i>See:</i> <a>accountsContainersTagsGet</a> smart constructor.
data AccountsContainersTagsGet

-- | The GTM Container ID.
actgContainerId :: Lens' AccountsContainersTagsGet Text

-- | The GTM Account ID.
actgAccountId :: Lens' AccountsContainersTagsGet Text

-- | The GTM Tag ID.
actgTagId :: Lens' AccountsContainersTagsGet Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Tags.Get.AccountsContainersTagsGet
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Tags.Get.AccountsContainersTagsGet
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Tags.Get.AccountsContainersTagsGet
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Tags.Get.AccountsContainersTagsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Tags.Get.AccountsContainersTagsGet


-- | Deletes a GTM Tag.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.tags.delete</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Tags.Delete

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.tags.delete</tt> method which the
--   <a>AccountsContainersTagsDelete</a> request conforms to.
type AccountsContainersTagsDeleteResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("tags" :> (Capture "tagId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))))

-- | Creates a value of <a>AccountsContainersTagsDelete</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>actdcContainerId</a></li>
--   <li><a>actdcAccountId</a></li>
--   <li><a>actdcTagId</a></li>
--   </ul>
accountsContainersTagsDelete :: Text -> Text -> Text -> AccountsContainersTagsDelete

-- | Deletes a GTM Tag.
--   
--   <i>See:</i> <a>accountsContainersTagsDelete</a> smart constructor.
data AccountsContainersTagsDelete

-- | The GTM Container ID.
actdcContainerId :: Lens' AccountsContainersTagsDelete Text

-- | The GTM Account ID.
actdcAccountId :: Lens' AccountsContainersTagsDelete Text

-- | The GTM Tag ID.
actdcTagId :: Lens' AccountsContainersTagsDelete Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Tags.Delete.AccountsContainersTagsDelete
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Tags.Delete.AccountsContainersTagsDelete
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Tags.Delete.AccountsContainersTagsDelete
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Tags.Delete.AccountsContainersTagsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Tags.Delete.AccountsContainersTagsDelete


-- | Creates a GTM Tag.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.tags.create</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Tags.Create

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.tags.create</tt> method which the
--   <a>AccountsContainersTagsCreate</a> request conforms to.
type AccountsContainersTagsCreateResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("tags" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Tag :> Post '[JSON] Tag))))))))

-- | Creates a value of <a>AccountsContainersTagsCreate</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>actccContainerId</a></li>
--   <li><a>actccPayload</a></li>
--   <li><a>actccAccountId</a></li>
--   </ul>
accountsContainersTagsCreate :: Text -> Tag -> Text -> AccountsContainersTagsCreate

-- | Creates a GTM Tag.
--   
--   <i>See:</i> <a>accountsContainersTagsCreate</a> smart constructor.
data AccountsContainersTagsCreate

-- | The GTM Container ID.
actccContainerId :: Lens' AccountsContainersTagsCreate Text

-- | Multipart request metadata.
actccPayload :: Lens' AccountsContainersTagsCreate Tag

-- | The GTM Account ID.
actccAccountId :: Lens' AccountsContainersTagsCreate Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Tags.Create.AccountsContainersTagsCreate
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Tags.Create.AccountsContainersTagsCreate
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Tags.Create.AccountsContainersTagsCreate
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Tags.Create.AccountsContainersTagsCreate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Tags.Create.AccountsContainersTagsCreate


-- | Re-generates the authorization code for a GTM Environment.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.reauthorize_environments.update</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.ReauthorizeEnvironments.Update

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.reauthorize_environments.update</tt>
--   method which the
--   <a>AccountsContainersReauthorizeEnvironmentsUpdate</a> request
--   conforms to.
type AccountsContainersReauthorizeEnvironmentsUpdateResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("reauthorize_environments" :> (Capture "environmentId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Environment :> Put '[JSON] Environment)))))))))

-- | Creates a value of
--   <a>AccountsContainersReauthorizeEnvironmentsUpdate</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acreuContainerId</a></li>
--   <li><a>acreuPayload</a></li>
--   <li><a>acreuAccountId</a></li>
--   <li><a>acreuEnvironmentId</a></li>
--   </ul>
accountsContainersReauthorizeEnvironmentsUpdate :: Text -> Environment -> Text -> Text -> AccountsContainersReauthorizeEnvironmentsUpdate

-- | Re-generates the authorization code for a GTM Environment.
--   
--   <i>See:</i> <a>accountsContainersReauthorizeEnvironmentsUpdate</a>
--   smart constructor.
data AccountsContainersReauthorizeEnvironmentsUpdate

-- | The GTM Container ID.
acreuContainerId :: Lens' AccountsContainersReauthorizeEnvironmentsUpdate Text

-- | Multipart request metadata.
acreuPayload :: Lens' AccountsContainersReauthorizeEnvironmentsUpdate Environment

-- | The GTM Account ID.
acreuAccountId :: Lens' AccountsContainersReauthorizeEnvironmentsUpdate Text

-- | The GTM Environment ID.
acreuEnvironmentId :: Lens' AccountsContainersReauthorizeEnvironmentsUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.ReauthorizeEnvironments.Update.AccountsContainersReauthorizeEnvironmentsUpdate
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.ReauthorizeEnvironments.Update.AccountsContainersReauthorizeEnvironmentsUpdate
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.ReauthorizeEnvironments.Update.AccountsContainersReauthorizeEnvironmentsUpdate
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.ReauthorizeEnvironments.Update.AccountsContainersReauthorizeEnvironmentsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.ReauthorizeEnvironments.Update.AccountsContainersReauthorizeEnvironmentsUpdate


-- | Moves entities to a GTM Folder.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.move_folders.update</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.MoveFolders.Update

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.move_folders.update</tt> method
--   which the <a>AccountsContainersMoveFoldersUpdate</a> request conforms
--   to.
type AccountsContainersMoveFoldersUpdateResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("move_folders" :> (Capture "folderId" Text :> (QueryParams "triggerId" Text :> (QueryParams "variableId" Text :> (QueryParams "tagId" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Folder :> Put '[JSON] ()))))))))))))

-- | Creates a value of <a>AccountsContainersMoveFoldersUpdate</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acmfuContainerId</a></li>
--   <li><a>acmfuTriggerId</a></li>
--   <li><a>acmfuVariableId</a></li>
--   <li><a>acmfuFolderId</a></li>
--   <li><a>acmfuPayload</a></li>
--   <li><a>acmfuAccountId</a></li>
--   <li><a>acmfuTagId</a></li>
--   </ul>
accountsContainersMoveFoldersUpdate :: Text -> Text -> Folder -> Text -> AccountsContainersMoveFoldersUpdate

-- | Moves entities to a GTM Folder.
--   
--   <i>See:</i> <a>accountsContainersMoveFoldersUpdate</a> smart
--   constructor.
data AccountsContainersMoveFoldersUpdate

-- | The GTM Container ID.
acmfuContainerId :: Lens' AccountsContainersMoveFoldersUpdate Text

-- | The triggers to be moved to the folder.
acmfuTriggerId :: Lens' AccountsContainersMoveFoldersUpdate [Text]

-- | The variables to be moved to the folder.
acmfuVariableId :: Lens' AccountsContainersMoveFoldersUpdate [Text]

-- | The GTM Folder ID.
acmfuFolderId :: Lens' AccountsContainersMoveFoldersUpdate Text

-- | Multipart request metadata.
acmfuPayload :: Lens' AccountsContainersMoveFoldersUpdate Folder

-- | The GTM Account ID.
acmfuAccountId :: Lens' AccountsContainersMoveFoldersUpdate Text

-- | The tags to be moved to the folder.
acmfuTagId :: Lens' AccountsContainersMoveFoldersUpdate [Text]
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.MoveFolders.Update.AccountsContainersMoveFoldersUpdate
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.MoveFolders.Update.AccountsContainersMoveFoldersUpdate
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.MoveFolders.Update.AccountsContainersMoveFoldersUpdate
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.MoveFolders.Update.AccountsContainersMoveFoldersUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.MoveFolders.Update.AccountsContainersMoveFoldersUpdate


-- | Lists all Containers that belongs to a GTM Account.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.list</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.List

-- | A resource alias for <tt>tagmanager.accounts.containers.list</tt>
--   method which the <a>AccountsContainersList</a> request conforms to.
type AccountsContainersListResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (QueryParam "alt" AltJSON :> Get '[JSON] ListContainersResponse)))))

-- | Creates a value of <a>AccountsContainersList</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aclAccountId</a></li>
--   </ul>
accountsContainersList :: Text -> AccountsContainersList

-- | Lists all Containers that belongs to a GTM Account.
--   
--   <i>See:</i> <a>accountsContainersList</a> smart constructor.
data AccountsContainersList

-- | The GTM Account ID.
aclAccountId :: Lens' AccountsContainersList Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.List.AccountsContainersList
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.List.AccountsContainersList
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.List.AccountsContainersList
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.List.AccountsContainersList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.List.AccountsContainersList


-- | Gets a Container.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.get</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Get

-- | A resource alias for <tt>tagmanager.accounts.containers.get</tt>
--   method which the <a>AccountsContainersGet</a> request conforms to.
type AccountsContainersGetResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Container))))))

-- | Creates a value of <a>AccountsContainersGet</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acgContainerId</a></li>
--   <li><a>acgAccountId</a></li>
--   </ul>
accountsContainersGet :: Text -> Text -> AccountsContainersGet

-- | Gets a Container.
--   
--   <i>See:</i> <a>accountsContainersGet</a> smart constructor.
data AccountsContainersGet

-- | The GTM Container ID.
acgContainerId :: Lens' AccountsContainersGet Text

-- | The GTM Account ID.
acgAccountId :: Lens' AccountsContainersGet Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Get.AccountsContainersGet
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Get.AccountsContainersGet
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Get.AccountsContainersGet
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Get.AccountsContainersGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Get.AccountsContainersGet


-- | Updates a GTM Folder.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.folders.update</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Folders.Update

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.folders.update</tt> method which
--   the <a>AccountsContainersFoldersUpdate</a> request conforms to.
type AccountsContainersFoldersUpdateResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("folders" :> (Capture "folderId" Text :> (QueryParam "fingerprint" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Folder :> Put '[JSON] Folder))))))))))

-- | Creates a value of <a>AccountsContainersFoldersUpdate</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acfuContainerId</a></li>
--   <li><a>acfuFingerprint</a></li>
--   <li><a>acfuFolderId</a></li>
--   <li><a>acfuPayload</a></li>
--   <li><a>acfuAccountId</a></li>
--   </ul>
accountsContainersFoldersUpdate :: Text -> Text -> Folder -> Text -> AccountsContainersFoldersUpdate

-- | Updates a GTM Folder.
--   
--   <i>See:</i> <a>accountsContainersFoldersUpdate</a> smart constructor.
data AccountsContainersFoldersUpdate

-- | The GTM Container ID.
acfuContainerId :: Lens' AccountsContainersFoldersUpdate Text

-- | When provided, this fingerprint must match the fingerprint of the
--   folder in storage.
acfuFingerprint :: Lens' AccountsContainersFoldersUpdate (Maybe Text)

-- | The GTM Folder ID.
acfuFolderId :: Lens' AccountsContainersFoldersUpdate Text

-- | Multipart request metadata.
acfuPayload :: Lens' AccountsContainersFoldersUpdate Folder

-- | The GTM Account ID.
acfuAccountId :: Lens' AccountsContainersFoldersUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Folders.Update.AccountsContainersFoldersUpdate
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Folders.Update.AccountsContainersFoldersUpdate
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Folders.Update.AccountsContainersFoldersUpdate
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Folders.Update.AccountsContainersFoldersUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Folders.Update.AccountsContainersFoldersUpdate


-- | Lists all GTM Folders of a Container.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.folders.list</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Folders.List

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.folders.list</tt> method which the
--   <a>AccountsContainersFoldersList</a> request conforms to.
type AccountsContainersFoldersListResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("folders" :> (QueryParam "alt" AltJSON :> Get '[JSON] ListFoldersResponse)))))))

-- | Creates a value of <a>AccountsContainersFoldersList</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acflContainerId</a></li>
--   <li><a>acflAccountId</a></li>
--   </ul>
accountsContainersFoldersList :: Text -> Text -> AccountsContainersFoldersList

-- | Lists all GTM Folders of a Container.
--   
--   <i>See:</i> <a>accountsContainersFoldersList</a> smart constructor.
data AccountsContainersFoldersList

-- | The GTM Container ID.
acflContainerId :: Lens' AccountsContainersFoldersList Text

-- | The GTM Account ID.
acflAccountId :: Lens' AccountsContainersFoldersList Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Folders.List.AccountsContainersFoldersList
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Folders.List.AccountsContainersFoldersList
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Folders.List.AccountsContainersFoldersList
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Folders.List.AccountsContainersFoldersList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Folders.List.AccountsContainersFoldersList


-- | Gets a GTM Folder.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.folders.get</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Folders.Get

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.folders.get</tt> method which the
--   <a>AccountsContainersFoldersGet</a> request conforms to.
type AccountsContainersFoldersGetResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("folders" :> (Capture "folderId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Folder))))))))

-- | Creates a value of <a>AccountsContainersFoldersGet</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acfgContainerId</a></li>
--   <li><a>acfgFolderId</a></li>
--   <li><a>acfgAccountId</a></li>
--   </ul>
accountsContainersFoldersGet :: Text -> Text -> Text -> AccountsContainersFoldersGet

-- | Gets a GTM Folder.
--   
--   <i>See:</i> <a>accountsContainersFoldersGet</a> smart constructor.
data AccountsContainersFoldersGet

-- | The GTM Container ID.
acfgContainerId :: Lens' AccountsContainersFoldersGet Text

-- | The GTM Folder ID.
acfgFolderId :: Lens' AccountsContainersFoldersGet Text

-- | The GTM Account ID.
acfgAccountId :: Lens' AccountsContainersFoldersGet Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Folders.Get.AccountsContainersFoldersGet
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Folders.Get.AccountsContainersFoldersGet
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Folders.Get.AccountsContainersFoldersGet
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Folders.Get.AccountsContainersFoldersGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Folders.Get.AccountsContainersFoldersGet


-- | List all entities in a GTM Folder.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.folders.entities.list</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Folders.Entities.List

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.folders.entities.list</tt> method
--   which the <a>AccountsContainersFoldersEntitiesList</a> request
--   conforms to.
type AccountsContainersFoldersEntitiesListResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("folders" :> (Capture "folderId" Text :> ("entities" :> (QueryParam "alt" AltJSON :> Get '[JSON] FolderEntities)))))))))

-- | Creates a value of <a>AccountsContainersFoldersEntitiesList</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acfelContainerId</a></li>
--   <li><a>acfelFolderId</a></li>
--   <li><a>acfelAccountId</a></li>
--   </ul>
accountsContainersFoldersEntitiesList :: Text -> Text -> Text -> AccountsContainersFoldersEntitiesList

-- | List all entities in a GTM Folder.
--   
--   <i>See:</i> <a>accountsContainersFoldersEntitiesList</a> smart
--   constructor.
data AccountsContainersFoldersEntitiesList

-- | The GTM Container ID.
acfelContainerId :: Lens' AccountsContainersFoldersEntitiesList Text

-- | The GTM Folder ID.
acfelFolderId :: Lens' AccountsContainersFoldersEntitiesList Text

-- | The GTM Account ID.
acfelAccountId :: Lens' AccountsContainersFoldersEntitiesList Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Folders.Entities.List.AccountsContainersFoldersEntitiesList
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Folders.Entities.List.AccountsContainersFoldersEntitiesList
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Folders.Entities.List.AccountsContainersFoldersEntitiesList
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Folders.Entities.List.AccountsContainersFoldersEntitiesList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Folders.Entities.List.AccountsContainersFoldersEntitiesList


-- | Deletes a GTM Folder.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.folders.delete</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Folders.Delete

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.folders.delete</tt> method which
--   the <a>AccountsContainersFoldersDelete</a> request conforms to.
type AccountsContainersFoldersDeleteResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("folders" :> (Capture "folderId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))))

-- | Creates a value of <a>AccountsContainersFoldersDelete</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acfdContainerId</a></li>
--   <li><a>acfdFolderId</a></li>
--   <li><a>acfdAccountId</a></li>
--   </ul>
accountsContainersFoldersDelete :: Text -> Text -> Text -> AccountsContainersFoldersDelete

-- | Deletes a GTM Folder.
--   
--   <i>See:</i> <a>accountsContainersFoldersDelete</a> smart constructor.
data AccountsContainersFoldersDelete

-- | The GTM Container ID.
acfdContainerId :: Lens' AccountsContainersFoldersDelete Text

-- | The GTM Folder ID.
acfdFolderId :: Lens' AccountsContainersFoldersDelete Text

-- | The GTM Account ID.
acfdAccountId :: Lens' AccountsContainersFoldersDelete Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Folders.Delete.AccountsContainersFoldersDelete
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Folders.Delete.AccountsContainersFoldersDelete
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Folders.Delete.AccountsContainersFoldersDelete
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Folders.Delete.AccountsContainersFoldersDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Folders.Delete.AccountsContainersFoldersDelete


-- | Creates a GTM Folder.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.folders.create</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Folders.Create

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.folders.create</tt> method which
--   the <a>AccountsContainersFoldersCreate</a> request conforms to.
type AccountsContainersFoldersCreateResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("folders" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Folder :> Post '[JSON] Folder))))))))

-- | Creates a value of <a>AccountsContainersFoldersCreate</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acfcContainerId</a></li>
--   <li><a>acfcPayload</a></li>
--   <li><a>acfcAccountId</a></li>
--   </ul>
accountsContainersFoldersCreate :: Text -> Folder -> Text -> AccountsContainersFoldersCreate

-- | Creates a GTM Folder.
--   
--   <i>See:</i> <a>accountsContainersFoldersCreate</a> smart constructor.
data AccountsContainersFoldersCreate

-- | The GTM Container ID.
acfcContainerId :: Lens' AccountsContainersFoldersCreate Text

-- | Multipart request metadata.
acfcPayload :: Lens' AccountsContainersFoldersCreate Folder

-- | The GTM Account ID.
acfcAccountId :: Lens' AccountsContainersFoldersCreate Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Folders.Create.AccountsContainersFoldersCreate
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Folders.Create.AccountsContainersFoldersCreate
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Folders.Create.AccountsContainersFoldersCreate
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Folders.Create.AccountsContainersFoldersCreate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Folders.Create.AccountsContainersFoldersCreate


-- | Updates a GTM Environment.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.environments.update</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Environments.Update

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.environments.update</tt> method
--   which the <a>AccountsContainersEnvironmentsUpdate</a> request conforms
--   to.
type AccountsContainersEnvironmentsUpdateResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("environments" :> (Capture "environmentId" Text :> (QueryParam "fingerprint" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Environment :> Put '[JSON] Environment))))))))))

-- | Creates a value of <a>AccountsContainersEnvironmentsUpdate</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aceuContainerId</a></li>
--   <li><a>aceuFingerprint</a></li>
--   <li><a>aceuPayload</a></li>
--   <li><a>aceuAccountId</a></li>
--   <li><a>aceuEnvironmentId</a></li>
--   </ul>
accountsContainersEnvironmentsUpdate :: Text -> Environment -> Text -> Text -> AccountsContainersEnvironmentsUpdate

-- | Updates a GTM Environment.
--   
--   <i>See:</i> <a>accountsContainersEnvironmentsUpdate</a> smart
--   constructor.
data AccountsContainersEnvironmentsUpdate

-- | The GTM Container ID.
aceuContainerId :: Lens' AccountsContainersEnvironmentsUpdate Text

-- | When provided, this fingerprint must match the fingerprint of the
--   environment in storage.
aceuFingerprint :: Lens' AccountsContainersEnvironmentsUpdate (Maybe Text)

-- | Multipart request metadata.
aceuPayload :: Lens' AccountsContainersEnvironmentsUpdate Environment

-- | The GTM Account ID.
aceuAccountId :: Lens' AccountsContainersEnvironmentsUpdate Text

-- | The GTM Environment ID.
aceuEnvironmentId :: Lens' AccountsContainersEnvironmentsUpdate Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Environments.Update.AccountsContainersEnvironmentsUpdate
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Environments.Update.AccountsContainersEnvironmentsUpdate
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Environments.Update.AccountsContainersEnvironmentsUpdate
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Environments.Update.AccountsContainersEnvironmentsUpdate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Environments.Update.AccountsContainersEnvironmentsUpdate


-- | Updates a GTM Environment. This method supports patch semantics.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.environments.patch</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Environments.Patch

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.environments.patch</tt> method
--   which the <a>AccountsContainersEnvironmentsPatch</a> request conforms
--   to.
type AccountsContainersEnvironmentsPatchResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("environments" :> (Capture "environmentId" Text :> (QueryParam "fingerprint" Text :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Environment :> Patch '[JSON] Environment))))))))))

-- | Creates a value of <a>AccountsContainersEnvironmentsPatch</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acepContainerId</a></li>
--   <li><a>acepFingerprint</a></li>
--   <li><a>acepPayload</a></li>
--   <li><a>acepAccountId</a></li>
--   <li><a>acepEnvironmentId</a></li>
--   </ul>
accountsContainersEnvironmentsPatch :: Text -> Environment -> Text -> Text -> AccountsContainersEnvironmentsPatch

-- | Updates a GTM Environment. This method supports patch semantics.
--   
--   <i>See:</i> <a>accountsContainersEnvironmentsPatch</a> smart
--   constructor.
data AccountsContainersEnvironmentsPatch

-- | The GTM Container ID.
acepContainerId :: Lens' AccountsContainersEnvironmentsPatch Text

-- | When provided, this fingerprint must match the fingerprint of the
--   environment in storage.
acepFingerprint :: Lens' AccountsContainersEnvironmentsPatch (Maybe Text)

-- | Multipart request metadata.
acepPayload :: Lens' AccountsContainersEnvironmentsPatch Environment

-- | The GTM Account ID.
acepAccountId :: Lens' AccountsContainersEnvironmentsPatch Text

-- | The GTM Environment ID.
acepEnvironmentId :: Lens' AccountsContainersEnvironmentsPatch Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Environments.Patch.AccountsContainersEnvironmentsPatch
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Environments.Patch.AccountsContainersEnvironmentsPatch
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Environments.Patch.AccountsContainersEnvironmentsPatch
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Environments.Patch.AccountsContainersEnvironmentsPatch
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Environments.Patch.AccountsContainersEnvironmentsPatch


-- | Lists all GTM Environments of a GTM Container.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.environments.list</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Environments.List

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.environments.list</tt> method which
--   the <a>AccountsContainersEnvironmentsList</a> request conforms to.
type AccountsContainersEnvironmentsListResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("environments" :> (QueryParam "alt" AltJSON :> Get '[JSON] ListEnvironmentsResponse)))))))

-- | Creates a value of <a>AccountsContainersEnvironmentsList</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acelContainerId</a></li>
--   <li><a>acelAccountId</a></li>
--   </ul>
accountsContainersEnvironmentsList :: Text -> Text -> AccountsContainersEnvironmentsList

-- | Lists all GTM Environments of a GTM Container.
--   
--   <i>See:</i> <a>accountsContainersEnvironmentsList</a> smart
--   constructor.
data AccountsContainersEnvironmentsList

-- | The GTM Container ID.
acelContainerId :: Lens' AccountsContainersEnvironmentsList Text

-- | The GTM Account ID.
acelAccountId :: Lens' AccountsContainersEnvironmentsList Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Environments.List.AccountsContainersEnvironmentsList
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Environments.List.AccountsContainersEnvironmentsList
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Environments.List.AccountsContainersEnvironmentsList
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Environments.List.AccountsContainersEnvironmentsList
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Environments.List.AccountsContainersEnvironmentsList


-- | Gets a GTM Environment.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.environments.get</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Environments.Get

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.environments.get</tt> method which
--   the <a>AccountsContainersEnvironmentsGet</a> request conforms to.
type AccountsContainersEnvironmentsGetResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("environments" :> (Capture "environmentId" Text :> (QueryParam "alt" AltJSON :> Get '[JSON] Environment))))))))

-- | Creates a value of <a>AccountsContainersEnvironmentsGet</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acegContainerId</a></li>
--   <li><a>acegAccountId</a></li>
--   <li><a>acegEnvironmentId</a></li>
--   </ul>
accountsContainersEnvironmentsGet :: Text -> Text -> Text -> AccountsContainersEnvironmentsGet

-- | Gets a GTM Environment.
--   
--   <i>See:</i> <a>accountsContainersEnvironmentsGet</a> smart
--   constructor.
data AccountsContainersEnvironmentsGet

-- | The GTM Container ID.
acegContainerId :: Lens' AccountsContainersEnvironmentsGet Text

-- | The GTM Account ID.
acegAccountId :: Lens' AccountsContainersEnvironmentsGet Text

-- | The GTM Environment ID.
acegEnvironmentId :: Lens' AccountsContainersEnvironmentsGet Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Environments.Get.AccountsContainersEnvironmentsGet
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Environments.Get.AccountsContainersEnvironmentsGet
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Environments.Get.AccountsContainersEnvironmentsGet
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Environments.Get.AccountsContainersEnvironmentsGet
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Environments.Get.AccountsContainersEnvironmentsGet


-- | Deletes a GTM Environment.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.environments.delete</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Environments.Delete

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.environments.delete</tt> method
--   which the <a>AccountsContainersEnvironmentsDelete</a> request conforms
--   to.
type AccountsContainersEnvironmentsDeleteResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("environments" :> (Capture "environmentId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))))

-- | Creates a value of <a>AccountsContainersEnvironmentsDelete</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acedContainerId</a></li>
--   <li><a>acedAccountId</a></li>
--   <li><a>acedEnvironmentId</a></li>
--   </ul>
accountsContainersEnvironmentsDelete :: Text -> Text -> Text -> AccountsContainersEnvironmentsDelete

-- | Deletes a GTM Environment.
--   
--   <i>See:</i> <a>accountsContainersEnvironmentsDelete</a> smart
--   constructor.
data AccountsContainersEnvironmentsDelete

-- | The GTM Container ID.
acedContainerId :: Lens' AccountsContainersEnvironmentsDelete Text

-- | The GTM Account ID.
acedAccountId :: Lens' AccountsContainersEnvironmentsDelete Text

-- | The GTM Environment ID.
acedEnvironmentId :: Lens' AccountsContainersEnvironmentsDelete Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Environments.Delete.AccountsContainersEnvironmentsDelete
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Environments.Delete.AccountsContainersEnvironmentsDelete
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Environments.Delete.AccountsContainersEnvironmentsDelete
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Environments.Delete.AccountsContainersEnvironmentsDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Environments.Delete.AccountsContainersEnvironmentsDelete


-- | Creates a GTM Environment.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.environments.create</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Environments.Create

-- | A resource alias for
--   <tt>tagmanager.accounts.containers.environments.create</tt> method
--   which the <a>AccountsContainersEnvironmentsCreate</a> request conforms
--   to.
type AccountsContainersEnvironmentsCreateResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> ("environments" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Environment :> Post '[JSON] Environment))))))))

-- | Creates a value of <a>AccountsContainersEnvironmentsCreate</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acecContainerId</a></li>
--   <li><a>acecPayload</a></li>
--   <li><a>acecAccountId</a></li>
--   </ul>
accountsContainersEnvironmentsCreate :: Text -> Environment -> Text -> AccountsContainersEnvironmentsCreate

-- | Creates a GTM Environment.
--   
--   <i>See:</i> <a>accountsContainersEnvironmentsCreate</a> smart
--   constructor.
data AccountsContainersEnvironmentsCreate

-- | The GTM Container ID.
acecContainerId :: Lens' AccountsContainersEnvironmentsCreate Text

-- | Multipart request metadata.
acecPayload :: Lens' AccountsContainersEnvironmentsCreate Environment

-- | The GTM Account ID.
acecAccountId :: Lens' AccountsContainersEnvironmentsCreate Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Environments.Create.AccountsContainersEnvironmentsCreate
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Environments.Create.AccountsContainersEnvironmentsCreate
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Environments.Create.AccountsContainersEnvironmentsCreate
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Environments.Create.AccountsContainersEnvironmentsCreate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Environments.Create.AccountsContainersEnvironmentsCreate


-- | Deletes a Container.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.delete</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Delete

-- | A resource alias for <tt>tagmanager.accounts.containers.delete</tt>
--   method which the <a>AccountsContainersDelete</a> request conforms to.
type AccountsContainersDeleteResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (Capture "containerId" Text :> (QueryParam "alt" AltJSON :> Delete '[JSON] ()))))))

-- | Creates a value of <a>AccountsContainersDelete</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acdContainerId</a></li>
--   <li><a>acdAccountId</a></li>
--   </ul>
accountsContainersDelete :: Text -> Text -> AccountsContainersDelete

-- | Deletes a Container.
--   
--   <i>See:</i> <a>accountsContainersDelete</a> smart constructor.
data AccountsContainersDelete

-- | The GTM Container ID.
acdContainerId :: Lens' AccountsContainersDelete Text

-- | The GTM Account ID.
acdAccountId :: Lens' AccountsContainersDelete Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Delete.AccountsContainersDelete
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Delete.AccountsContainersDelete
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Delete.AccountsContainersDelete
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Delete.AccountsContainersDelete
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Delete.AccountsContainersDelete


-- | Creates a Container.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a> for
--   <tt>tagmanager.accounts.containers.create</tt>.
module Network.Google.Resource.TagManager.Accounts.Containers.Create

-- | A resource alias for <tt>tagmanager.accounts.containers.create</tt>
--   method which the <a>AccountsContainersCreate</a> request conforms to.
type AccountsContainersCreateResource = "tagmanager" :> ("v1" :> ("accounts" :> (Capture "accountId" Text :> ("containers" :> (QueryParam "alt" AltJSON :> (ReqBody '[JSON] Container :> Post '[JSON] Container))))))

-- | Creates a value of <a>AccountsContainersCreate</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>accPayload</a></li>
--   <li><a>accAccountId</a></li>
--   </ul>
accountsContainersCreate :: Container -> Text -> AccountsContainersCreate

-- | Creates a Container.
--   
--   <i>See:</i> <a>accountsContainersCreate</a> smart constructor.
data AccountsContainersCreate

-- | Multipart request metadata.
accPayload :: Lens' AccountsContainersCreate Container

-- | The GTM Account ID.
accAccountId :: Lens' AccountsContainersCreate Text
instance GHC.Generics.Generic Network.Google.Resource.TagManager.Accounts.Containers.Create.AccountsContainersCreate
instance Data.Data.Data Network.Google.Resource.TagManager.Accounts.Containers.Create.AccountsContainersCreate
instance GHC.Show.Show Network.Google.Resource.TagManager.Accounts.Containers.Create.AccountsContainersCreate
instance GHC.Classes.Eq Network.Google.Resource.TagManager.Accounts.Containers.Create.AccountsContainersCreate
instance Network.Google.Types.GoogleRequest Network.Google.Resource.TagManager.Accounts.Containers.Create.AccountsContainersCreate


-- | Accesses Tag Manager accounts and containers.
--   
--   <i>See:</i> <a>Tag Manager API Reference</a>
module Network.Google.TagManager

-- | Default request referring to version <tt>v1</tt> of the Tag Manager
--   API. This contains the host and root path used as a starting point for
--   constructing service requests.
tagManagerService :: ServiceConfig

-- | View your Google Tag Manager container and its subcomponents
tagManagerReadOnlyScope :: Proxy '["https://www.googleapis.com/auth/tagmanager.readonly"]

-- | Manage your Google Tag Manager container and its subcomponents,
--   excluding versioning and publishing
tagManagerEditContainersScope :: Proxy '["https://www.googleapis.com/auth/tagmanager.edit.containers"]

-- | View and manage your Google Tag Manager accounts
tagManagerManageAccountsScope :: Proxy '["https://www.googleapis.com/auth/tagmanager.manage.accounts"]

-- | Delete your Google Tag Manager containers
tagManagerDeleteContainersScope :: Proxy '["https://www.googleapis.com/auth/tagmanager.delete.containers"]

-- | Manage user permissions of your Google Tag Manager account and
--   container
tagManagerManageUsersScope :: Proxy '["https://www.googleapis.com/auth/tagmanager.manage.users"]

-- | Publish your Google Tag Manager container versions
tagManagerPublishScope :: Proxy '["https://www.googleapis.com/auth/tagmanager.publish"]

-- | Manage your Google Tag Manager container versions
tagManagerEditContainerversionsScope :: Proxy '["https://www.googleapis.com/auth/tagmanager.edit.containerversions"]

-- | Represents the entirety of the methods and resources available for the
--   Tag Manager API service.
type TagManagerAPI = AccountsContainersVariablesListResource :<|> (AccountsContainersVariablesGetResource :<|> (AccountsContainersVariablesCreateResource :<|> (AccountsContainersVariablesDeleteResource :<|> (AccountsContainersVariablesUpdateResource :<|> (AccountsContainersReauthorizeEnvironmentsUpdateResource :<|> (AccountsContainersFoldersEntitiesListResource :<|> (AccountsContainersFoldersListResource :<|> (AccountsContainersFoldersGetResource :<|> (AccountsContainersFoldersCreateResource :<|> (AccountsContainersFoldersDeleteResource :<|> (AccountsContainersFoldersUpdateResource :<|> (AccountsContainersTriggersListResource :<|> (AccountsContainersTriggersGetResource :<|> (AccountsContainersTriggersCreateResource :<|> (AccountsContainersTriggersDeleteResource :<|> (AccountsContainersTriggersUpdateResource :<|> (AccountsContainersVersionsListResource :<|> (AccountsContainersVersionsUndeleteResource :<|> (AccountsContainersVersionsRestoreResource :<|> (AccountsContainersVersionsGetResource :<|> (AccountsContainersVersionsCreateResource :<|> (AccountsContainersVersionsDeleteResource :<|> (AccountsContainersVersionsUpdateResource :<|> (AccountsContainersVersionsPublishResource :<|> (AccountsContainersMoveFoldersUpdateResource :<|> (AccountsContainersEnvironmentsListResource :<|> (AccountsContainersEnvironmentsPatchResource :<|> (AccountsContainersEnvironmentsGetResource :<|> (AccountsContainersEnvironmentsCreateResource :<|> (AccountsContainersEnvironmentsDeleteResource :<|> (AccountsContainersEnvironmentsUpdateResource :<|> (AccountsContainersTagsListResource :<|> (AccountsContainersTagsGetResource :<|> (AccountsContainersTagsCreateResource :<|> (AccountsContainersTagsDeleteResource :<|> (AccountsContainersTagsUpdateResource :<|> (AccountsContainersListResource :<|> (AccountsContainersGetResource :<|> (AccountsContainersCreateResource :<|> (AccountsContainersDeleteResource :<|> (AccountsContainersUpdateResource :<|> (AccountsPermissionsListResource :<|> (AccountsPermissionsGetResource :<|> (AccountsPermissionsCreateResource :<|> (AccountsPermissionsDeleteResource :<|> (AccountsPermissionsUpdateResource :<|> (AccountsListResource :<|> (AccountsGetResource :<|> AccountsUpdateResource))))))))))))))))))))))))))))))))))))))))))))))))

-- | List Variables Response.
--   
--   <i>See:</i> <a>listVariablesResponse</a> smart constructor.
data ListVariablesResponse

-- | Creates a value of <a>ListVariablesResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lvrVariables</a></li>
--   </ul>
listVariablesResponse :: ListVariablesResponse

-- | All GTM Variables of a GTM Container.
lvrVariables :: Lens' ListVariablesResponse [Variable]

-- | List Folders Response.
--   
--   <i>See:</i> <a>listFoldersResponse</a> smart constructor.
data ListFoldersResponse

-- | Creates a value of <a>ListFoldersResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lfrFolders</a></li>
--   </ul>
listFoldersResponse :: ListFoldersResponse

-- | All GTM Folders of a GTM Container.
lfrFolders :: Lens' ListFoldersResponse [Folder]

-- | List Environments Response.
--   
--   <i>See:</i> <a>listEnvironmentsResponse</a> smart constructor.
data ListEnvironmentsResponse

-- | Creates a value of <a>ListEnvironmentsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lerEnvironments</a></li>
--   </ul>
listEnvironmentsResponse :: ListEnvironmentsResponse

-- | All Environments of a GTM Container.
lerEnvironments :: Lens' ListEnvironmentsResponse [Environment]

-- | Publish container version response.
--   
--   <i>See:</i> <a>publishContainerVersionResponse</a> smart constructor.
data PublishContainerVersionResponse

-- | Creates a value of <a>PublishContainerVersionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pcvrCompilerError</a></li>
--   <li><a>pcvrContainerVersion</a></li>
--   </ul>
publishContainerVersionResponse :: PublishContainerVersionResponse

-- | Compiler errors or not.
pcvrCompilerError :: Lens' PublishContainerVersionResponse (Maybe Bool)

-- | The container version created.
pcvrContainerVersion :: Lens' PublishContainerVersionResponse (Maybe ContainerVersion)

-- | Represents a Google Tag Manager Container Version Header.
--   
--   <i>See:</i> <a>containerVersionHeader</a> smart constructor.
data ContainerVersionHeader

-- | Creates a value of <a>ContainerVersionHeader</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cvhNumTags</a></li>
--   <li><a>cvhNumMacros</a></li>
--   <li><a>cvhContainerId</a></li>
--   <li><a>cvhContainerVersionId</a></li>
--   <li><a>cvhAccountId</a></li>
--   <li><a>cvhName</a></li>
--   <li><a>cvhNumTriggers</a></li>
--   <li><a>cvhDeleted</a></li>
--   <li><a>cvhNumRules</a></li>
--   <li><a>cvhNumVariables</a></li>
--   </ul>
containerVersionHeader :: ContainerVersionHeader

-- | Number of tags in the container version.
cvhNumTags :: Lens' ContainerVersionHeader (Maybe Text)

-- | Number of macros in the container version.
cvhNumMacros :: Lens' ContainerVersionHeader (Maybe Text)

-- | GTM Container ID.
cvhContainerId :: Lens' ContainerVersionHeader (Maybe Text)

-- | The Container Version ID uniquely identifies the GTM Container
--   Version.
cvhContainerVersionId :: Lens' ContainerVersionHeader (Maybe Text)

-- | GTM Account ID.
cvhAccountId :: Lens' ContainerVersionHeader (Maybe Text)

-- | Container version display name.
cvhName :: Lens' ContainerVersionHeader (Maybe Text)

-- | Number of triggers in the container version.
cvhNumTriggers :: Lens' ContainerVersionHeader (Maybe Text)

-- | A value of true indicates this container version has been deleted.
cvhDeleted :: Lens' ContainerVersionHeader (Maybe Bool)

-- | Number of rules in the container version.
cvhNumRules :: Lens' ContainerVersionHeader (Maybe Text)

-- | Number of variables in the container version.
cvhNumVariables :: Lens' ContainerVersionHeader (Maybe Text)
data TeardownTag

-- | Creates a value of <a>TeardownTag</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ttStopTeardownOnFailure</a></li>
--   <li><a>ttTagName</a></li>
--   </ul>
teardownTag :: TeardownTag

-- | If true, fire the teardown tag if and only if the main tag fires
--   successfully. If false, fire the teardown tag regardless of main tag
--   firing status.
ttStopTeardownOnFailure :: Lens' TeardownTag (Maybe Bool)

-- | The name of the teardown tag.
ttTagName :: Lens' TeardownTag (Maybe Text)

-- | List triggers response.
--   
--   <i>See:</i> <a>listTriggersResponse</a> smart constructor.
data ListTriggersResponse

-- | Creates a value of <a>ListTriggersResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ltrTriggers</a></li>
--   </ul>
listTriggersResponse :: ListTriggersResponse

-- | All GTM Triggers of a GTM Container.
ltrTriggers :: Lens' ListTriggersResponse [Trigger]

-- | Represents a Google Tag Manager Macro.
--   
--   <i>See:</i> <a>macro</a> smart constructor.
data Macro

-- | Creates a value of <a>Macro</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mScheduleEndMs</a></li>
--   <li><a>mParentFolderId</a></li>
--   <li><a>mContainerId</a></li>
--   <li><a>mDisablingRuleId</a></li>
--   <li><a>mFingerprint</a></li>
--   <li><a>mAccountId</a></li>
--   <li><a>mName</a></li>
--   <li><a>mEnablingRuleId</a></li>
--   <li><a>mMacroId</a></li>
--   <li><a>mType</a></li>
--   <li><a>mScheduleStartMs</a></li>
--   <li><a>mNotes</a></li>
--   <li><a>mParameter</a></li>
--   </ul>
macro :: Macro

-- | The end timestamp in milliseconds to schedule a macro.
mScheduleEndMs :: Lens' Macro (Maybe Int64)

-- | Parent folder id.
mParentFolderId :: Lens' Macro (Maybe Text)

-- | GTM Container ID.
mContainerId :: Lens' Macro (Maybe Text)

-- | For mobile containers only: A list of rule IDs for disabling
--   conditional macros; the macro is enabled if one of the enabling rules
--   is true while all the disabling rules are false. Treated as an
--   unordered set.
mDisablingRuleId :: Lens' Macro [Text]

-- | The fingerprint of the GTM Macro as computed at storage time. This
--   value is recomputed whenever the macro is modified.
mFingerprint :: Lens' Macro (Maybe Text)

-- | GTM Account ID.
mAccountId :: Lens' Macro (Maybe Text)

-- | Macro display name.
mName :: Lens' Macro (Maybe Text)

-- | For mobile containers only: A list of rule IDs for enabling
--   conditional macros; the macro is enabled if one of the enabling rules
--   is true while all the disabling rules are false. Treated as an
--   unordered set.
mEnablingRuleId :: Lens' Macro [Text]

-- | The Macro ID uniquely identifies the GTM Macro.
mMacroId :: Lens' Macro (Maybe Text)

-- | GTM Macro Type.
mType :: Lens' Macro (Maybe Text)

-- | The start timestamp in milliseconds to schedule a macro.
mScheduleStartMs :: Lens' Macro (Maybe Int64)

-- | User notes on how to apply this macro in the container.
mNotes :: Lens' Macro (Maybe Text)

-- | The macro's parameters.
mParameter :: Lens' Macro [Parameter]

-- | Represents a Google Tag Manager Tag.
--   
--   <i>See:</i> <a>tag</a> smart constructor.
data Tag

-- | Creates a value of <a>Tag</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tBlockingTriggerId</a></li>
--   <li><a>tScheduleEndMs</a></li>
--   <li><a>tParentFolderId</a></li>
--   <li><a>tLiveOnly</a></li>
--   <li><a>tContainerId</a></li>
--   <li><a>tPriority</a></li>
--   <li><a>tTeardownTag</a></li>
--   <li><a>tFingerprint</a></li>
--   <li><a>tTagFiringOption</a></li>
--   <li><a>tAccountId</a></li>
--   <li><a>tTagId</a></li>
--   <li><a>tName</a></li>
--   <li><a>tBlockingRuleId</a></li>
--   <li><a>tSetupTag</a></li>
--   <li><a>tFiringTriggerId</a></li>
--   <li><a>tType</a></li>
--   <li><a>tScheduleStartMs</a></li>
--   <li><a>tNotes</a></li>
--   <li><a>tFiringRuleId</a></li>
--   <li><a>tParameter</a></li>
--   </ul>
tag :: Tag

-- | Blocking trigger IDs. If any of the listed triggers evaluate to true,
--   the tag will not fire.
tBlockingTriggerId :: Lens' Tag [Text]

-- | The end timestamp in milliseconds to schedule a tag.
tScheduleEndMs :: Lens' Tag (Maybe Int64)

-- | Parent folder id.
tParentFolderId :: Lens' Tag (Maybe Text)

-- | If set to true, this tag will only fire in the live environment (e.g.
--   not in preview or debug mode).
tLiveOnly :: Lens' Tag (Maybe Bool)

-- | GTM Container ID.
tContainerId :: Lens' Tag (Maybe Text)

-- | User defined numeric priority of the tag. Tags are fired
--   asynchronously in order of priority. Tags with higher numeric value
--   fire first. A tag's priority can be a positive or negative value. The
--   default value is 0.
tPriority :: Lens' Tag (Maybe Parameter)

-- | The list of teardown tags. Currently we only allow one.
tTeardownTag :: Lens' Tag [TeardownTag]

-- | The fingerprint of the GTM Tag as computed at storage time. This value
--   is recomputed whenever the tag is modified.
tFingerprint :: Lens' Tag (Maybe Text)

-- | Option to fire this tag.
tTagFiringOption :: Lens' Tag (Maybe TagTagFiringOption)

-- | GTM Account ID.
tAccountId :: Lens' Tag (Maybe Text)

-- | The Tag ID uniquely identifies the GTM Tag.
tTagId :: Lens' Tag (Maybe Text)

-- | Tag display name.
tName :: Lens' Tag (Maybe Text)

-- | Blocking rule IDs. If any of the listed rules evaluate to true, the
--   tag will not fire.
tBlockingRuleId :: Lens' Tag [Text]

-- | The list of setup tags. Currently we only allow one.
tSetupTag :: Lens' Tag [SetupTag]

-- | Firing trigger IDs. A tag will fire when any of the listed triggers
--   are true and all of its blockingTriggerIds (if any specified) are
--   false.
tFiringTriggerId :: Lens' Tag [Text]

-- | GTM Tag Type.
tType :: Lens' Tag (Maybe Text)

-- | The start timestamp in milliseconds to schedule a tag.
tScheduleStartMs :: Lens' Tag (Maybe Int64)

-- | User notes on how to apply this tag in the container.
tNotes :: Lens' Tag (Maybe Text)

-- | Firing rule IDs. A tag will fire when any of the listed rules are true
--   and all of its blockingRuleIds (if any specified) are false.
tFiringRuleId :: Lens' Tag [Text]

-- | The tag's parameters.
tParameter :: Lens' Tag [Parameter]

-- | Create container versions response.
--   
--   <i>See:</i> <a>createContainerVersionResponse</a> smart constructor.
data CreateContainerVersionResponse

-- | Creates a value of <a>CreateContainerVersionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccvrCompilerError</a></li>
--   <li><a>ccvrContainerVersion</a></li>
--   </ul>
createContainerVersionResponse :: CreateContainerVersionResponse

-- | Compiler errors or not.
ccvrCompilerError :: Lens' CreateContainerVersionResponse (Maybe Bool)

-- | The container version created.
ccvrContainerVersion :: Lens' CreateContainerVersionResponse (Maybe ContainerVersion)

-- | Options for new container versions.
--   
--   <i>See:</i> <a>createContainerVersionRequestVersionOptions</a> smart
--   constructor.
data CreateContainerVersionRequestVersionOptions

-- | Creates a value of <a>CreateContainerVersionRequestVersionOptions</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ccvrvoName</a></li>
--   <li><a>ccvrvoQuickPreview</a></li>
--   <li><a>ccvrvoNotes</a></li>
--   </ul>
createContainerVersionRequestVersionOptions :: CreateContainerVersionRequestVersionOptions

-- | The name of the container version to be created.
ccvrvoName :: Lens' CreateContainerVersionRequestVersionOptions (Maybe Text)

-- | The creation of this version may be for quick preview and shouldn't be
--   saved.
ccvrvoQuickPreview :: Lens' CreateContainerVersionRequestVersionOptions (Maybe Bool)

-- | The notes of the container version to be created.
ccvrvoNotes :: Lens' CreateContainerVersionRequestVersionOptions (Maybe Text)

-- | Represents a user's permissions to an account and its container.
--   
--   <i>See:</i> <a>userAccess</a> smart constructor.
data UserAccess

-- | Creates a value of <a>UserAccess</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uaAccountAccess</a></li>
--   <li><a>uaAccountId</a></li>
--   <li><a>uaEmailAddress</a></li>
--   <li><a>uaContainerAccess</a></li>
--   <li><a>uaPermissionId</a></li>
--   </ul>
userAccess :: UserAccess

-- | GTM Account access permissions.
uaAccountAccess :: Lens' UserAccess (Maybe AccountAccess)

-- | GTM Account ID.
uaAccountId :: Lens' UserAccess (Maybe Text)

-- | User's email address.
uaEmailAddress :: Lens' UserAccess (Maybe Text)

-- | GTM Container access permissions.
uaContainerAccess :: Lens' UserAccess [ContainerAccess]

-- | Account Permission ID.
uaPermissionId :: Lens' UserAccess (Maybe Text)

-- | Represents a Google Tag Manager Environment. Note that a user can
--   create, delete and update environments of type USER, but can only
--   update the enable_debug and url fields of environments of other types.
--   
--   <i>See:</i> <a>environment</a> smart constructor.
data Environment

-- | Creates a value of <a>Environment</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eContainerId</a></li>
--   <li><a>eFingerprint</a></li>
--   <li><a>eContainerVersionId</a></li>
--   <li><a>eURL</a></li>
--   <li><a>eAuthorizationCode</a></li>
--   <li><a>eAccountId</a></li>
--   <li><a>eName</a></li>
--   <li><a>eEnableDebug</a></li>
--   <li><a>eEnvironmentId</a></li>
--   <li><a>eType</a></li>
--   <li><a>eAuthorizationTimestampMs</a></li>
--   <li><a>eDescription</a></li>
--   </ul>
environment :: Environment

-- | GTM Container ID.
eContainerId :: Lens' Environment (Maybe Text)

-- | The fingerprint of the GTM environment as computed at storage time.
--   This value is recomputed whenever the environment is modified.
eFingerprint :: Lens' Environment (Maybe Text)
eContainerVersionId :: Lens' Environment (Maybe Text)

-- | Default preview page url for the environment.
eURL :: Lens' Environment (Maybe Text)

-- | The environment authorization code.
eAuthorizationCode :: Lens' Environment (Maybe Text)

-- | GTM Account ID.
eAccountId :: Lens' Environment (Maybe Text)

-- | The environment display name. Can be set or changed only on USER type
--   environments.
eName :: Lens' Environment (Maybe Text)

-- | Whether or not to enable debug by default on for the environment.
eEnableDebug :: Lens' Environment (Maybe Bool)

-- | GTM Environment ID uniquely identifies the GTM Environment.
eEnvironmentId :: Lens' Environment (Maybe Text)

-- | The type of this environment.
eType :: Lens' Environment (Maybe EnvironmentType)

-- | The last update time-stamp for the authorization code.
eAuthorizationTimestampMs :: Lens' Environment (Maybe Int64)

-- | The environment description. Can be set or changed only on USER type
--   environments.
eDescription :: Lens' Environment (Maybe Text)

-- | Defines the Google Tag Manager Account access permissions.
--   
--   <i>See:</i> <a>accountAccess</a> smart constructor.
data AccountAccess

-- | Creates a value of <a>AccountAccess</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaPermission</a></li>
--   </ul>
accountAccess :: AccountAccess

-- | List of Account permissions. Valid account permissions are read and
--   manage.
aaPermission :: Lens' AccountAccess [AccountAccessPermissionItem]

-- | Defines the data layer event that causes this trigger.
data TriggerType

-- | <pre>
--   ajaxSubmission
--   </pre>
AjaxSubmission :: TriggerType

-- | <pre>
--   always
--   </pre>
Always :: TriggerType

-- | <pre>
--   click
--   </pre>
Click :: TriggerType

-- | <pre>
--   customEvent
--   </pre>
CustomEvent :: TriggerType

-- | <pre>
--   domReady
--   </pre>
DomReady :: TriggerType

-- | <pre>
--   formSubmission
--   </pre>
FormSubmission :: TriggerType

-- | <pre>
--   historyChange
--   </pre>
HistoryChange :: TriggerType

-- | <pre>
--   jsError
--   </pre>
JsError :: TriggerType

-- | <pre>
--   linkClick
--   </pre>
LinkClick :: TriggerType

-- | <pre>
--   pageview
--   </pre>
Pageview :: TriggerType

-- | <pre>
--   timer
--   </pre>
Timer :: TriggerType

-- | <pre>
--   windowLoaded
--   </pre>
WindowLoaded :: TriggerType

-- | <pre>
--   youTube
--   </pre>
YouTube :: TriggerType
data ContainerEnabledBuiltInVariableItem

-- | <pre>
--   advertiserId
--   </pre>
CEBIVIAdvertiserId :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   advertisingTrackingEnabled
--   </pre>
CEBIVIAdvertisingTrackingEnabled :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   appId
--   </pre>
CEBIVIAppId :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   appName
--   </pre>
CEBIVIAppName :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   appVersionCode
--   </pre>
CEBIVIAppVersionCode :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   appVersionName
--   </pre>
CEBIVIAppVersionName :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   clickClasses
--   </pre>
CEBIVIClickClasses :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   clickElement
--   </pre>
CEBIVIClickElement :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   clickId
--   </pre>
CEBIVIClickId :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   clickTarget
--   </pre>
CEBIVIClickTarget :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   clickText
--   </pre>
CEBIVIClickText :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   clickUrl
--   </pre>
CEBIVIClickURL :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   containerId
--   </pre>
CEBIVIContainerId :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   containerVersion
--   </pre>
CEBIVIContainerVersion :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   debugMode
--   </pre>
CEBIVIDebugMode :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   deviceName
--   </pre>
CEBIVIDeviceName :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   environmentName
--   </pre>
CEBIVIEnvironmentName :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   errorLine
--   </pre>
CEBIVIErrorLine :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   errorMessage
--   </pre>
CEBIVIErrorMessage :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   errorUrl
--   </pre>
CEBIVIErrorURL :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   event
--   </pre>
CEBIVIEvent :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   formClasses
--   </pre>
CEBIVIFormClasses :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   formElement
--   </pre>
CEBIVIFormElement :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   formId
--   </pre>
CEBIVIFormId :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   formTarget
--   </pre>
CEBIVIFormTarget :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   formText
--   </pre>
CEBIVIFormText :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   formUrl
--   </pre>
CEBIVIFormURL :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   historySource
--   </pre>
CEBIVIHistorySource :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   htmlId
--   </pre>
CEBIVIHTMLId :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   language
--   </pre>
CEBIVILanguage :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   newHistoryFragment
--   </pre>
CEBIVINewHistoryFragment :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   newHistoryState
--   </pre>
CEBIVINewHistoryState :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   oldHistoryFragment
--   </pre>
CEBIVIOldHistoryFragment :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   oldHistoryState
--   </pre>
CEBIVIOldHistoryState :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   osVersion
--   </pre>
CEBIVIOSVersion :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   pageHostname
--   </pre>
CEBIVIPageHostname :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   pagePath
--   </pre>
CEBIVIPagePath :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   pageUrl
--   </pre>
CEBIVIPageURL :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   platform
--   </pre>
CEBIVIPlatform :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   randomNumber
--   </pre>
CEBIVIRandomNumber :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   referrer
--   </pre>
CEBIVIReferrer :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   resolution
--   </pre>
CEBIVIResolution :: ContainerEnabledBuiltInVariableItem

-- | <pre>
--   sdkVersion
--   </pre>
CEBIVISdkVersion :: ContainerEnabledBuiltInVariableItem
data ContainerUsageContextItem

-- | <pre>
--   android
--   </pre>
Android :: ContainerUsageContextItem

-- | <pre>
--   androidSdk5
--   </pre>
ANDROIdSDK5 :: ContainerUsageContextItem

-- | <pre>
--   ios
--   </pre>
Ios :: ContainerUsageContextItem

-- | <pre>
--   iosSdk5
--   </pre>
IOSSDK5 :: ContainerUsageContextItem

-- | <pre>
--   web
--   </pre>
Web :: ContainerUsageContextItem

-- | The type of operator for this condition.
data ConditionType

-- | <pre>
--   contains
--   </pre>
Contains :: ConditionType

-- | <pre>
--   cssSelector
--   </pre>
CssSelector :: ConditionType

-- | <pre>
--   endsWith
--   </pre>
EndsWith :: ConditionType

-- | <pre>
--   equals
--   </pre>
Equals :: ConditionType

-- | <pre>
--   greater
--   </pre>
Greater :: ConditionType

-- | <pre>
--   greaterOrEquals
--   </pre>
GreaterOrEquals :: ConditionType

-- | <pre>
--   less
--   </pre>
Less :: ConditionType

-- | <pre>
--   lessOrEquals
--   </pre>
LessOrEquals :: ConditionType

-- | <pre>
--   matchRegex
--   </pre>
MatchRegex :: ConditionType

-- | <pre>
--   startsWith
--   </pre>
StartsWith :: ConditionType

-- | <pre>
--   urlMatches
--   </pre>
URLMatches :: ConditionType

-- | List Accounts Response.
--   
--   <i>See:</i> <a>listAccountsResponse</a> smart constructor.
data ListAccountsResponse

-- | Creates a value of <a>ListAccountsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>larAccounts</a></li>
--   </ul>
listAccountsResponse :: ListAccountsResponse

-- | List of GTM Accounts that a user has access to.
larAccounts :: Lens' ListAccountsResponse [Account]
data AccountAccessPermissionItem

-- | <pre>
--   delete
--   </pre>
Delete' :: AccountAccessPermissionItem

-- | <pre>
--   edit
--   </pre>
Edit :: AccountAccessPermissionItem

-- | <pre>
--   manage
--   </pre>
Manage :: AccountAccessPermissionItem

-- | <pre>
--   publish
--   </pre>
Publish :: AccountAccessPermissionItem

-- | <pre>
--   read
--   </pre>
Read' :: AccountAccessPermissionItem

-- | Option to fire this tag.
data TagTagFiringOption

-- | <pre>
--   oncePerEvent
--   </pre>
OncePerEvent :: TagTagFiringOption

-- | <pre>
--   oncePerLoad
--   </pre>
OncePerLoad :: TagTagFiringOption

-- | <pre>
--   unlimited
--   </pre>
Unlimited :: TagTagFiringOption

-- | Represents a Google Tag Manager Rule.
--   
--   <i>See:</i> <a>rule</a> smart constructor.
data Rule

-- | Creates a value of <a>Rule</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rContainerId</a></li>
--   <li><a>rFingerprint</a></li>
--   <li><a>rRuleId</a></li>
--   <li><a>rAccountId</a></li>
--   <li><a>rName</a></li>
--   <li><a>rNotes</a></li>
--   <li><a>rCondition</a></li>
--   </ul>
rule :: Rule

-- | GTM Container ID.
rContainerId :: Lens' Rule (Maybe Text)

-- | The fingerprint of the GTM Rule as computed at storage time. This
--   value is recomputed whenever the rule is modified.
rFingerprint :: Lens' Rule (Maybe Text)

-- | The Rule ID uniquely identifies the GTM Rule.
rRuleId :: Lens' Rule (Maybe Text)

-- | GTM Account ID.
rAccountId :: Lens' Rule (Maybe Text)

-- | Rule display name.
rName :: Lens' Rule (Maybe Text)

-- | User notes on how to apply this rule in the container.
rNotes :: Lens' Rule (Maybe Text)

-- | The list of conditions that make up this rule (implicit AND between
--   them).
rCondition :: Lens' Rule [Condition]

-- | Represents a Google Tag Manager Folder.
--   
--   <i>See:</i> <a>folder</a> smart constructor.
data Folder

-- | Creates a value of <a>Folder</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>fContainerId</a></li>
--   <li><a>fFingerprint</a></li>
--   <li><a>fFolderId</a></li>
--   <li><a>fAccountId</a></li>
--   <li><a>fName</a></li>
--   </ul>
folder :: Folder

-- | GTM Container ID.
fContainerId :: Lens' Folder (Maybe Text)

-- | The fingerprint of the GTM Folder as computed at storage time. This
--   value is recomputed whenever the folder is modified.
fFingerprint :: Lens' Folder (Maybe Text)

-- | The Folder ID uniquely identifies the GTM Folder.
fFolderId :: Lens' Folder (Maybe Text)

-- | GTM Account ID.
fAccountId :: Lens' Folder (Maybe Text)

-- | Folder display name.
fName :: Lens' Folder (Maybe Text)

-- | Represents a Google Tag Manager Variable.
--   
--   <i>See:</i> <a>variable</a> smart constructor.
data Variable

-- | Creates a value of <a>Variable</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vScheduleEndMs</a></li>
--   <li><a>vParentFolderId</a></li>
--   <li><a>vContainerId</a></li>
--   <li><a>vFingerprint</a></li>
--   <li><a>vVariableId</a></li>
--   <li><a>vAccountId</a></li>
--   <li><a>vDisablingTriggerId</a></li>
--   <li><a>vName</a></li>
--   <li><a>vType</a></li>
--   <li><a>vScheduleStartMs</a></li>
--   <li><a>vNotes</a></li>
--   <li><a>vEnablingTriggerId</a></li>
--   <li><a>vParameter</a></li>
--   </ul>
variable :: Variable

-- | The end timestamp in milliseconds to schedule a variable.
vScheduleEndMs :: Lens' Variable (Maybe Int64)

-- | Parent folder id.
vParentFolderId :: Lens' Variable (Maybe Text)

-- | GTM Container ID.
vContainerId :: Lens' Variable (Maybe Text)

-- | The fingerprint of the GTM Variable as computed at storage time. This
--   value is recomputed whenever the variable is modified.
vFingerprint :: Lens' Variable (Maybe Text)

-- | The Variable ID uniquely identifies the GTM Variable.
vVariableId :: Lens' Variable (Maybe Text)

-- | GTM Account ID.
vAccountId :: Lens' Variable (Maybe Text)

-- | For mobile containers only: A list of trigger IDs for disabling
--   conditional variables; the variable is enabled if one of the enabling
--   trigger is true while all the disabling trigger are false. Treated as
--   an unordered set.
vDisablingTriggerId :: Lens' Variable [Text]

-- | Variable display name.
vName :: Lens' Variable (Maybe Text)

-- | GTM Variable Type.
vType :: Lens' Variable (Maybe Text)

-- | The start timestamp in milliseconds to schedule a variable.
vScheduleStartMs :: Lens' Variable (Maybe Int64)

-- | User notes on how to apply this variable in the container.
vNotes :: Lens' Variable (Maybe Text)

-- | For mobile containers only: A list of trigger IDs for enabling
--   conditional variables; the variable is enabled if one of the enabling
--   triggers is true while all the disabling triggers are false. Treated
--   as an unordered set.
vEnablingTriggerId :: Lens' Variable [Text]

-- | The variable's parameters.
vParameter :: Lens' Variable [Parameter]

-- | The parameter type. Valid values are: - boolean: The value represents
--   a boolean, represented as 'true' or 'false' - integer: The value
--   represents a 64-bit signed integer value, in base 10 - list: A list of
--   parameters should be specified - map: A map of parameters should be
--   specified - template: The value represents any text; this can include
--   variable references (even variable references that might return
--   non-string types)
data ParameterType

-- | <pre>
--   boolean
--   </pre>
Boolean :: ParameterType

-- | <pre>
--   integer
--   </pre>
Integer :: ParameterType

-- | <pre>
--   list
--   </pre>
List :: ParameterType

-- | <pre>
--   map
--   </pre>
Map :: ParameterType

-- | <pre>
--   template
--   </pre>
Template :: ParameterType

-- | Represents a Google Tag Manager Account.
--   
--   <i>See:</i> <a>account</a> smart constructor.
data Account

-- | Creates a value of <a>Account</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aaShareData</a></li>
--   <li><a>aaFingerprint</a></li>
--   <li><a>aaAccountId</a></li>
--   <li><a>aaName</a></li>
--   </ul>
account :: Account

-- | Whether the account shares data anonymously with Google and others.
aaShareData :: Lens' Account (Maybe Bool)

-- | The fingerprint of the GTM Account as computed at storage time. This
--   value is recomputed whenever the account is modified.
aaFingerprint :: Lens' Account (Maybe Text)

-- | The Account ID uniquely identifies the GTM Account.
aaAccountId :: Lens' Account (Maybe Text)

-- | Account display name.
aaName :: Lens' Account (Maybe Text)

-- | List container versions response.
--   
--   <i>See:</i> <a>listContainerVersionsResponse</a> smart constructor.
data ListContainerVersionsResponse

-- | Creates a value of <a>ListContainerVersionsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lcvrContainerVersionHeader</a></li>
--   <li><a>lcvrContainerVersion</a></li>
--   </ul>
listContainerVersionsResponse :: ListContainerVersionsResponse

-- | All container version headers of a GTM Container.
lcvrContainerVersionHeader :: Lens' ListContainerVersionsResponse [ContainerVersionHeader]

-- | All versions of a GTM Container.
lcvrContainerVersion :: Lens' ListContainerVersionsResponse [ContainerVersion]

-- | Represents a Google Tag Manager Container.
--   
--   <i>See:</i> <a>container</a> smart constructor.
data Container

-- | Creates a value of <a>Container</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cPublicId</a></li>
--   <li><a>cUsageContext</a></li>
--   <li><a>cEnabledBuiltInVariable</a></li>
--   <li><a>cContainerId</a></li>
--   <li><a>cFingerprint</a></li>
--   <li><a>cTimeZoneCountryId</a></li>
--   <li><a>cAccountId</a></li>
--   <li><a>cDomainName</a></li>
--   <li><a>cName</a></li>
--   <li><a>cNotes</a></li>
--   <li><a>cTimeZoneId</a></li>
--   </ul>
container :: Container

-- | Container Public ID.
cPublicId :: Lens' Container (Maybe Text)

-- | List of Usage Contexts for the Container. Valid values include: web,
--   android, ios.
cUsageContext :: Lens' Container [ContainerUsageContextItem]

-- | List of enabled built-in variables. Valid values include: pageUrl,
--   pageHostname, pagePath, referrer, event, clickElement, clickClasses,
--   clickId, clickTarget, clickUrl, clickText, formElement, formClasses,
--   formId, formTarget, formUrl, formText, errorMessage, errorUrl,
--   errorLine, newHistoryFragment, oldHistoryFragment, newHistoryState,
--   oldHistoryState, historySource, containerVersion, debugMode,
--   randomNumber, containerId.
cEnabledBuiltInVariable :: Lens' Container [ContainerEnabledBuiltInVariableItem]

-- | The Container ID uniquely identifies the GTM Container.
cContainerId :: Lens' Container (Maybe Text)

-- | The fingerprint of the GTM Container as computed at storage time. This
--   value is recomputed whenever the account is modified.
cFingerprint :: Lens' Container (Maybe Text)

-- | Container Country ID.
cTimeZoneCountryId :: Lens' Container (Maybe Text)

-- | GTM Account ID.
cAccountId :: Lens' Container (Maybe Text)

-- | Optional list of domain names associated with the Container.
cDomainName :: Lens' Container [Text]

-- | Container display name.
cName :: Lens' Container (Maybe Text)

-- | Container Notes.
cNotes :: Lens' Container (Maybe Text)

-- | Container Time Zone ID.
cTimeZoneId :: Lens' Container (Maybe Text)

-- | List AccountUsers Response.
--   
--   <i>See:</i> <a>listAccountUsersResponse</a> smart constructor.
data ListAccountUsersResponse

-- | Creates a value of <a>ListAccountUsersResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>laurUserAccess</a></li>
--   </ul>
listAccountUsersResponse :: ListAccountUsersResponse

-- | All GTM AccountUsers of a GTM Account.
laurUserAccess :: Lens' ListAccountUsersResponse [UserAccess]
data ContainerAccessPermissionItem

-- | <pre>
--   delete
--   </pre>
CAPIDelete' :: ContainerAccessPermissionItem

-- | <pre>
--   edit
--   </pre>
CAPIEdit :: ContainerAccessPermissionItem

-- | <pre>
--   manage
--   </pre>
CAPIManage :: ContainerAccessPermissionItem

-- | <pre>
--   publish
--   </pre>
CAPIPublish :: ContainerAccessPermissionItem

-- | <pre>
--   read
--   </pre>
CAPIRead' :: ContainerAccessPermissionItem

-- | Represents a Google Tag Manager Container Version.
--   
--   <i>See:</i> <a>containerVersion</a> smart constructor.
data ContainerVersion

-- | Creates a value of <a>ContainerVersion</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cvMacro</a></li>
--   <li><a>cvTag</a></li>
--   <li><a>cvContainerId</a></li>
--   <li><a>cvFingerprint</a></li>
--   <li><a>cvContainerVersionId</a></li>
--   <li><a>cvRule</a></li>
--   <li><a>cvFolder</a></li>
--   <li><a>cvVariable</a></li>
--   <li><a>cvAccountId</a></li>
--   <li><a>cvName</a></li>
--   <li><a>cvContainer</a></li>
--   <li><a>cvDeleted</a></li>
--   <li><a>cvTrigger</a></li>
--   <li><a>cvNotes</a></li>
--   </ul>
containerVersion :: ContainerVersion

-- | The macros in the container that this version was taken from.
cvMacro :: Lens' ContainerVersion [Macro]

-- | The tags in the container that this version was taken from.
cvTag :: Lens' ContainerVersion [Tag]

-- | GTM Container ID.
cvContainerId :: Lens' ContainerVersion (Maybe Text)

-- | The fingerprint of the GTM Container Version as computed at storage
--   time. This value is recomputed whenever the container version is
--   modified.
cvFingerprint :: Lens' ContainerVersion (Maybe Text)

-- | The Container Version ID uniquely identifies the GTM Container
--   Version.
cvContainerVersionId :: Lens' ContainerVersion (Maybe Text)

-- | The rules in the container that this version was taken from.
cvRule :: Lens' ContainerVersion [Rule]

-- | The folders in the container that this version was taken from.
cvFolder :: Lens' ContainerVersion [Folder]

-- | The variables in the container that this version was taken from.
cvVariable :: Lens' ContainerVersion [Variable]

-- | GTM Account ID.
cvAccountId :: Lens' ContainerVersion (Maybe Text)

-- | Container version display name.
cvName :: Lens' ContainerVersion (Maybe Text)

-- | The container that this version was taken from.
cvContainer :: Lens' ContainerVersion (Maybe Container)

-- | A value of true indicates this container version has been deleted.
cvDeleted :: Lens' ContainerVersion (Maybe Bool)

-- | The triggers in the container that this version was taken from.
cvTrigger :: Lens' ContainerVersion [Trigger]

-- | User notes on how to apply this container version in the container.
cvNotes :: Lens' ContainerVersion (Maybe Text)

-- | The type of this environment.
data EnvironmentType

-- | <pre>
--   draft
--   </pre>
Draft :: EnvironmentType

-- | <pre>
--   latest
--   </pre>
Latest :: EnvironmentType

-- | <pre>
--   live
--   </pre>
Live :: EnvironmentType

-- | <pre>
--   user
--   </pre>
User :: EnvironmentType
data SetupTag

-- | Creates a value of <a>SetupTag</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>stTagName</a></li>
--   <li><a>stStopOnSetupFailure</a></li>
--   </ul>
setupTag :: SetupTag

-- | The name of the setup tag.
stTagName :: Lens' SetupTag (Maybe Text)

-- | If true, fire the main tag if and only if the setup tag fires
--   successfully. If false, fire the main tag regardless of setup tag
--   firing status.
stStopOnSetupFailure :: Lens' SetupTag (Maybe Bool)

-- | List Containers Response.
--   
--   <i>See:</i> <a>listContainersResponse</a> smart constructor.
data ListContainersResponse

-- | Creates a value of <a>ListContainersResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lcrContainers</a></li>
--   </ul>
listContainersResponse :: ListContainersResponse

-- | All Containers of a GTM Account.
lcrContainers :: Lens' ListContainersResponse [Container]

-- | Represents a Google Tag Manager Trigger
--   
--   <i>See:</i> <a>trigger</a> smart constructor.
data Trigger

-- | Creates a value of <a>Trigger</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>triCustomEventFilter</a></li>
--   <li><a>triParentFolderId</a></li>
--   <li><a>triContainerId</a></li>
--   <li><a>triTriggerId</a></li>
--   <li><a>triCheckValidation</a></li>
--   <li><a>triFingerprint</a></li>
--   <li><a>triAutoEventFilter</a></li>
--   <li><a>triUniqueTriggerId</a></li>
--   <li><a>triAccountId</a></li>
--   <li><a>triName</a></li>
--   <li><a>triInterval</a></li>
--   <li><a>triEnableAllVideos</a></li>
--   <li><a>triWaitForTagsTimeout</a></li>
--   <li><a>triLimit</a></li>
--   <li><a>triFilter</a></li>
--   <li><a>triType</a></li>
--   <li><a>triVideoPercentageList</a></li>
--   <li><a>triEventName</a></li>
--   <li><a>triWaitForTags</a></li>
--   </ul>
trigger :: Trigger

-- | Used in the case of custom event, which is fired iff all Conditions
--   are true.
triCustomEventFilter :: Lens' Trigger [Condition]

-- | Parent folder id.
triParentFolderId :: Lens' Trigger (Maybe Text)

-- | GTM Container ID.
triContainerId :: Lens' Trigger (Maybe Text)

-- | The Trigger ID uniquely identifies the GTM Trigger.
triTriggerId :: Lens' Trigger (Maybe Text)

-- | Whether or not we should only fire tags if the form submit or link
--   click event is not cancelled by some other event handler (e.g. because
--   of validation). Only valid for Form Submission and Link Click
--   triggers.
triCheckValidation :: Lens' Trigger (Maybe Parameter)

-- | The fingerprint of the GTM Trigger as computed at storage time. This
--   value is recomputed whenever the trigger is modified.
triFingerprint :: Lens' Trigger (Maybe Text)

-- | Used in the case of auto event tracking.
triAutoEventFilter :: Lens' Trigger [Condition]

-- | Globally unique id of the trigger that auto-generates this (a Form
--   Submit, Link Click or Timer listener) if any. Used to make
--   incompatible auto-events work together with trigger filtering based on
--   trigger ids. This value is populated during output generation since
--   the tags implied by triggers don't exist until then. Only valid for
--   Form Submit, Link Click and Timer triggers.
triUniqueTriggerId :: Lens' Trigger (Maybe Parameter)

-- | GTM Account ID.
triAccountId :: Lens' Trigger (Maybe Text)

-- | Trigger display name.
triName :: Lens' Trigger (Maybe Text)

-- | Time between triggering recurring Timer Events (in milliseconds). Only
--   valid for Timer triggers.
triInterval :: Lens' Trigger (Maybe Parameter)

-- | Reloads the videos in the page that don't already have the YT API
--   enabled. If false, only capture events from videos that already have
--   the API enabled. Only valid for YouTube triggers.
triEnableAllVideos :: Lens' Trigger (Maybe Parameter)

-- | How long to wait (in milliseconds) for tags to fire when
--   'waits_for_tags' above evaluates to true. Only valid for Form
--   Submission and Link Click triggers.
triWaitForTagsTimeout :: Lens' Trigger (Maybe Parameter)

-- | Limit of the number of GTM events this Timer Trigger will fire. If no
--   limit is set, we will continue to fire GTM events until the user
--   leaves the page. Only valid for Timer triggers.
triLimit :: Lens' Trigger (Maybe Parameter)

-- | The trigger will only fire iff all Conditions are true.
triFilter :: Lens' Trigger [Condition]

-- | Defines the data layer event that causes this trigger.
triType :: Lens' Trigger (Maybe TriggerType)

-- | List of integer percentage values. The trigger will fire as each
--   percentage is reached in any instrumented videos. Only valid for
--   YouTube triggers.
triVideoPercentageList :: Lens' Trigger (Maybe Parameter)

-- | Name of the GTM event that is fired. Only valid for Timer triggers.
triEventName :: Lens' Trigger (Maybe Parameter)

-- | Whether or not we should delay the form submissions or link opening
--   until all of the tags have fired (by preventing the default action and
--   later simulating the default action). Only valid for Form Submission
--   and Link Click triggers.
triWaitForTags :: Lens' Trigger (Maybe Parameter)

-- | List Tags Response.
--   
--   <i>See:</i> <a>listTagsResponse</a> smart constructor.
data ListTagsResponse

-- | Creates a value of <a>ListTagsResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ltrTags</a></li>
--   </ul>
listTagsResponse :: ListTagsResponse

-- | All GTM Tags of a GTM Container.
ltrTags :: Lens' ListTagsResponse [Tag]

-- | Represents a Google Tag Manager Folder's contents.
--   
--   <i>See:</i> <a>folderEntities</a> smart constructor.
data FolderEntities

-- | Creates a value of <a>FolderEntities</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>feTag</a></li>
--   <li><a>feVariable</a></li>
--   <li><a>feTrigger</a></li>
--   </ul>
folderEntities :: FolderEntities

-- | The list of tags inside the folder.
feTag :: Lens' FolderEntities [Tag]

-- | The list of variables inside the folder.
feVariable :: Lens' FolderEntities [Variable]

-- | The list of triggers inside the folder.
feTrigger :: Lens' FolderEntities [Trigger]

-- | Represents a predicate.
--   
--   <i>See:</i> <a>condition</a> smart constructor.
data Condition

-- | Creates a value of <a>Condition</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cType</a></li>
--   <li><a>cParameter</a></li>
--   </ul>
condition :: Condition

-- | The type of operator for this condition.
cType :: Lens' Condition (Maybe ConditionType)

-- | A list of named parameters (key/value), depending on the condition's
--   type. Notes: - For binary operators, include parameters named arg0 and
--   arg1 for specifying the left and right operands, respectively. - At
--   this time, the left operand (arg0) must be a reference to a variable.
--   - For case-insensitive Regex matching, include a boolean parameter
--   named ignore_case that is set to true. If not specified or set to any
--   other value, the matching will be case sensitive. - To negate an
--   operator, include a boolean parameter named negate boolean parameter
--   that is set to true.
cParameter :: Lens' Condition [Parameter]

-- | Defines the Google Tag Manager Container access permissions.
--   
--   <i>See:</i> <a>containerAccess</a> smart constructor.
data ContainerAccess

-- | Creates a value of <a>ContainerAccess</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>caContainerId</a></li>
--   <li><a>caPermission</a></li>
--   </ul>
containerAccess :: ContainerAccess

-- | GTM Container ID.
caContainerId :: Lens' ContainerAccess (Maybe Text)

-- | List of Container permissions. Valid container permissions are: read,
--   edit, delete, publish.
caPermission :: Lens' ContainerAccess [ContainerAccessPermissionItem]

-- | Represents a Google Tag Manager Parameter.
--   
--   <i>See:</i> <a>parameter</a> smart constructor.
data Parameter

-- | Creates a value of <a>Parameter</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>pList</a></li>
--   <li><a>pValue</a></li>
--   <li><a>pMap</a></li>
--   <li><a>pKey</a></li>
--   <li><a>pType</a></li>
--   </ul>
parameter :: Parameter

-- | This list parameter's parameters (keys will be ignored).
pList :: Lens' Parameter [Parameter]

-- | A parameter's value (may contain variable references such as
--   "{{myVariable}}") as appropriate to the specified type.
pValue :: Lens' Parameter (Maybe Text)

-- | This map parameter's parameters (must have keys; keys must be unique).
pMap :: Lens' Parameter [Parameter]

-- | The named key that uniquely identifies a parameter. Required for
--   top-level parameters, as well as map values. Ignored for list values.
pKey :: Lens' Parameter (Maybe Text)

-- | The parameter type. Valid values are: - boolean: The value represents
--   a boolean, represented as 'true' or 'false' - integer: The value
--   represents a 64-bit signed integer value, in base 10 - list: A list of
--   parameters should be specified - map: A map of parameters should be
--   specified - template: The value represents any text; this can include
--   variable references (even variable references that might return
--   non-string types)
pType :: Lens' Parameter (Maybe ParameterType)
