# Tag Manager API . accounts . containers . rules

## Instance Methods

Creates a GTM Rule.

Deletes a GTM Rule.

Gets a GTM Rule.

Lists all GTM Rules of a Container.

Updates a GTM Rule. This method supports patch semantics.

Updates a GTM Rule.

### Method Details

`create(accountId, containerId, body)`

    Creates a GTM Rule.

    Args:
      accountId: string, The GTM Account ID. (required)
      containerId: string, The GTM Container ID. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Represents a Google Tag Manager Rule.
      "name": "A String", # Rule display name.
      "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
      "notes": "A String", # User notes on how to apply this rule in the container.
      "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
      "accountId": "A String", # GTM Account ID.
      "condition": [ # The list of conditions that make up this rule (implicit AND between them).
        { # Represents a predicate.
          "type": "A String", # The type of operator for this condition.
          "parameter": [ # 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 macro.
              # - 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.
            { # Represents a Google Tag Manager Parameter.
              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
                # Object with schema name: Parameter
              ],
              "list": [ # This list parameter's parameters (keys will be ignored).
                # Object with schema name: Parameter
              ],
              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
              "type": "A String", # 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 macro references (even macro references that might return non-string types)
            },
          ],
        },
      ],
      "containerId": "A String", # GTM Container ID.
    }

    Returns:
      An object of the form:

        { # Represents a Google Tag Manager Rule.
        "name": "A String", # Rule display name.
        "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
        "notes": "A String", # User notes on how to apply this rule in the container.
        "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
        "accountId": "A String", # GTM Account ID.
        "condition": [ # The list of conditions that make up this rule (implicit AND between them).
          { # Represents a predicate.
            "type": "A String", # The type of operator for this condition.
            "parameter": [ # 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 macro.
                # - 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.
              { # Represents a Google Tag Manager Parameter.
                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
                  # Object with schema name: Parameter
                ],
                "list": [ # This list parameter's parameters (keys will be ignored).
                  # Object with schema name: Parameter
                ],
                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
                "type": "A String", # 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 macro references (even macro references that might return non-string types)
              },
            ],
          },
        ],
        "containerId": "A String", # GTM Container ID.
      }

`delete(accountId, containerId, ruleId)`

    Deletes a GTM Rule.

    Args:
      accountId: string, The GTM Account ID. (required)
      containerId: string, The GTM Container ID. (required)
      ruleId: string, The GTM Rule ID. (required)

`get(accountId, containerId, ruleId)`

    Gets a GTM Rule.

    Args:
      accountId: string, The GTM Account ID. (required)
      containerId: string, The GTM Container ID. (required)
      ruleId: string, The GTM Rule ID. (required)

    Returns:
      An object of the form:

        { # Represents a Google Tag Manager Rule.
        "name": "A String", # Rule display name.
        "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
        "notes": "A String", # User notes on how to apply this rule in the container.
        "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
        "accountId": "A String", # GTM Account ID.
        "condition": [ # The list of conditions that make up this rule (implicit AND between them).
          { # Represents a predicate.
            "type": "A String", # The type of operator for this condition.
            "parameter": [ # 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 macro.
                # - 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.
              { # Represents a Google Tag Manager Parameter.
                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
                  # Object with schema name: Parameter
                ],
                "list": [ # This list parameter's parameters (keys will be ignored).
                  # Object with schema name: Parameter
                ],
                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
                "type": "A String", # 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 macro references (even macro references that might return non-string types)
              },
            ],
          },
        ],
        "containerId": "A String", # GTM Container ID.
      }

`list(accountId, containerId)`

    Lists all GTM Rules of a Container.

    Args:
      accountId: string, The GTM Account ID. (required)
      containerId: string, The GTM Container ID. (required)

    Returns:
      An object of the form:

        { # List Rules Response.
        "rules": [ # All GTM Rules of a GTM Container.
          { # Represents a Google Tag Manager Rule.
            "name": "A String", # Rule display name.
            "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
            "notes": "A String", # User notes on how to apply this rule in the container.
            "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
            "accountId": "A String", # GTM Account ID.
            "condition": [ # The list of conditions that make up this rule (implicit AND between them).
              { # Represents a predicate.
                "type": "A String", # The type of operator for this condition.
                "parameter": [ # 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 macro.
                    # - 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.
                  { # Represents a Google Tag Manager Parameter.
                    "map": [ # This map parameter's parameters (must have keys; keys must be unique).
                      # Object with schema name: Parameter
                    ],
                    "list": [ # This list parameter's parameters (keys will be ignored).
                      # Object with schema name: Parameter
                    ],
                    "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
                    "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
                    "type": "A String", # 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 macro references (even macro references that might return non-string types)
                  },
                ],
              },
            ],
            "containerId": "A String", # GTM Container ID.
          },
        ],
      }

`patch(accountId, containerId, ruleId, body, fingerprint=None)`

    Updates a GTM Rule. This method supports patch semantics.

    Args:
      accountId: string, The GTM Account ID. (required)
      containerId: string, The GTM Container ID. (required)
      ruleId: string, The GTM Rule ID. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Represents a Google Tag Manager Rule.
      "name": "A String", # Rule display name.
      "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
      "notes": "A String", # User notes on how to apply this rule in the container.
      "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
      "accountId": "A String", # GTM Account ID.
      "condition": [ # The list of conditions that make up this rule (implicit AND between them).
        { # Represents a predicate.
          "type": "A String", # The type of operator for this condition.
          "parameter": [ # 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 macro.
              # - 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.
            { # Represents a Google Tag Manager Parameter.
              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
                # Object with schema name: Parameter
              ],
              "list": [ # This list parameter's parameters (keys will be ignored).
                # Object with schema name: Parameter
              ],
              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
              "type": "A String", # 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 macro references (even macro references that might return non-string types)
            },
          ],
        },
      ],
      "containerId": "A String", # GTM Container ID.
    }

      fingerprint: string, When provided, this fingerprint must match the fingerprint of the rule in storage.

    Returns:
      An object of the form:

        { # Represents a Google Tag Manager Rule.
        "name": "A String", # Rule display name.
        "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
        "notes": "A String", # User notes on how to apply this rule in the container.
        "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
        "accountId": "A String", # GTM Account ID.
        "condition": [ # The list of conditions that make up this rule (implicit AND between them).
          { # Represents a predicate.
            "type": "A String", # The type of operator for this condition.
            "parameter": [ # 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 macro.
                # - 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.
              { # Represents a Google Tag Manager Parameter.
                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
                  # Object with schema name: Parameter
                ],
                "list": [ # This list parameter's parameters (keys will be ignored).
                  # Object with schema name: Parameter
                ],
                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
                "type": "A String", # 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 macro references (even macro references that might return non-string types)
              },
            ],
          },
        ],
        "containerId": "A String", # GTM Container ID.
      }

`update(accountId, containerId, ruleId, body, fingerprint=None)`

    Updates a GTM Rule.

    Args:
      accountId: string, The GTM Account ID. (required)
      containerId: string, The GTM Container ID. (required)
      ruleId: string, The GTM Rule ID. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Represents a Google Tag Manager Rule.
      "name": "A String", # Rule display name.
      "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
      "notes": "A String", # User notes on how to apply this rule in the container.
      "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
      "accountId": "A String", # GTM Account ID.
      "condition": [ # The list of conditions that make up this rule (implicit AND between them).
        { # Represents a predicate.
          "type": "A String", # The type of operator for this condition.
          "parameter": [ # 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 macro.
              # - 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.
            { # Represents a Google Tag Manager Parameter.
              "map": [ # This map parameter's parameters (must have keys; keys must be unique).
                # Object with schema name: Parameter
              ],
              "list": [ # This list parameter's parameters (keys will be ignored).
                # Object with schema name: Parameter
              ],
              "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
              "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
              "type": "A String", # 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 macro references (even macro references that might return non-string types)
            },
          ],
        },
      ],
      "containerId": "A String", # GTM Container ID.
    }

      fingerprint: string, When provided, this fingerprint must match the fingerprint of the rule in storage.

    Returns:
      An object of the form:

        { # Represents a Google Tag Manager Rule.
        "name": "A String", # Rule display name.
        "ruleId": "A String", # The Rule ID uniquely identifies the GTM Rule.
        "notes": "A String", # User notes on how to apply this rule in the container.
        "fingerprint": "A String", # The fingerprint of the GTM Rule as computed at storage time. This value is recomputed whenever the rule is modified.
        "accountId": "A String", # GTM Account ID.
        "condition": [ # The list of conditions that make up this rule (implicit AND between them).
          { # Represents a predicate.
            "type": "A String", # The type of operator for this condition.
            "parameter": [ # 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 macro.
                # - 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.
              { # Represents a Google Tag Manager Parameter.
                "map": [ # This map parameter's parameters (must have keys; keys must be unique).
                  # Object with schema name: Parameter
                ],
                "list": [ # This list parameter's parameters (keys will be ignored).
                  # Object with schema name: Parameter
                ],
                "value": "A String", # A parameter's value (may contain macro references such as "{{myMacro}}") as appropriate to the specified type.
                "key": "A String", # The named key that uniquely identifies a parameter. Required for top-level parameters, as well as map values. Ignored for list values.
                "type": "A String", # 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 macro references (even macro references that might return non-string types)
              },
            ],
          },
        ],
        "containerId": "A String", # GTM Container ID.
      }